From b853dd9840cf1fe61cd535d562b353591d847691 Mon Sep 17 00:00:00 2001 From: dcode Date: Wed, 23 Nov 2022 10:48:43 +0100 Subject: [PATCH 01/14] Fix local/global variable initialization checks --- src/compiler.ts | 166 ++++++++++++++++++++++-------------- src/diagnosticMessages.json | 2 + src/flow.ts | 39 +++++++-- src/program.ts | 10 ++- std/assembly/rt/itcms.ts | 2 +- std/assembly/rt/tlsf.ts | 2 +- 6 files changed, 143 insertions(+), 78 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 0ee4365ecb..d8fa5fd044 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -1169,6 +1169,26 @@ export class Compiler extends DiagnosticEmitter { } let type = global.type; + + // Enforce an initializer on globals. TypeScript is unsound in this regard + // in that it, just as us, doesn't do full program analysis, but simply + // assumes that outer variables are initialized: + // + // let foo: string; + // function bar() { + // console.log(foo.length); // no error even though undefined + // } + // bar(); + // + // We can't let that happen in AOT obviously, except if there is a trivial + // default value (say `0` or `null`), so limit to non-nullable references: + if (type.isReference && !type.is(TypeFlags.Nullable) && !initializerNode) { + this.error( + DiagnosticCode.Initializer_expected, + global.identifierNode.range + ); + } + let typeRef = type.toRef(); let isDeclaredConstant = global.is(CommonFlags.Const) || global.is(CommonFlags.Static | CommonFlags.Readonly); let isDeclaredInline = global.hasDecorator(DecoratorFlags.Inline); @@ -2327,8 +2347,6 @@ export class Compiler extends DiagnosticEmitter { let loopLabel = `do-loop|${label}`; // Compile the body (always executes) - let bodyFlow = flow.fork(); - this.currentFlow = bodyFlow; let bodyStmts = new Array(); let body = statement.body; if (body.kind == NodeKind.Block) { @@ -2338,28 +2356,21 @@ export class Compiler extends DiagnosticEmitter { } // Shortcut if body never falls through - let possiblyContinues = bodyFlow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues); - if (bodyFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks) && !possiblyContinues) { + let possiblyContinues = flow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues); + if (flow.isAny(FlowFlags.Terminates | FlowFlags.Breaks) && !possiblyContinues) { bodyStmts.push( module.unreachable() ); - flow.inherit(bodyFlow); - // Otherwise evaluate the condition + // Otherwise compile and evaluate the condition } else { - let condFlow = flow.fork(); - this.currentFlow = condFlow; - let condExpr = this.makeIsTrueish( - this.compileExpression(statement.condition, Type.i32), - this.currentType, - statement.condition - ); + let condExprBeforeTrueish = this.compileExpression(statement.condition, Type.bool); + let condExpr = this.makeIsTrueish(condExprBeforeTrueish, this.currentType, statement.condition); let condKind = this.evaluateCondition(condExpr); if (possiblyContinues) { - bodyStmts = [ - module.block(continueLabel, bodyStmts) - ]; + bodyStmts[0] = module.block(continueLabel, bodyStmts); + bodyStmts.length = 1; } // Shortcut if condition is always false @@ -2367,30 +2378,33 @@ export class Compiler extends DiagnosticEmitter { bodyStmts.push( module.drop(condExpr) ); - flow.inherit(bodyFlow); - - // Terminate if condition is always true and body never breaks - } else if (condKind == ConditionKind.True && !bodyFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks)) { - bodyStmts.push( - module.drop(condExpr) - ); - bodyStmts.push( - module.br(loopLabel) - ); - flow.set(FlowFlags.Terminates); } else { - bodyStmts.push( - module.br(loopLabel, - condExpr - ) - ); - flow.inherit(condFlow); + // Terminate if condition is always true and body never breaks + if (condKind == ConditionKind.True && !flow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks)) { + bodyStmts.push( + module.drop(condExpr) + ); + bodyStmts.push( + module.br(loopLabel) + ); + flow.set(FlowFlags.Terminates); + + // Otherwise loop conditionally + } else { + bodyStmts.push( + module.br(loopLabel, + condExpr + ) + ); + } // Detect if local flags are incompatible before and after looping, and // if so recompile by unifying local flags between iterations. Note that // this may be necessary multiple times where locals depend on each other. - if (outerFlow.resetIfNeedsRecompile(flow, numLocalsBefore)) { + let loopingFlow = flow.getTrueFlow(condExprBeforeTrueish).fork(); + loopingFlow.inheritNonnullIfTrue(condExpr); + if (outerFlow.resetIfNeedsRecompile(loopingFlow, numLocalsBefore)) { outerFlow.popBreakLabel(); this.currentFlow = outerFlow; return this.doCompileDoStatement(statement); @@ -2630,8 +2644,9 @@ export class Compiler extends DiagnosticEmitter { // ... ┌◄┘ // Precompute the condition (always executes) + let condExprBeforeTrueish = this.compileExpression(statement.condition, Type.bool); let condExpr = this.makeIsTrueish( - this.compileExpression(statement.condition, Type.bool), + condExprBeforeTrueish, this.currentType, statement.condition ); @@ -2661,7 +2676,7 @@ export class Compiler extends DiagnosticEmitter { // Compile ifTrue assuming the condition turned out true let thenStmts = new Array(); - let thenFlow = flow.fork(); + let thenFlow = flow.getTrueFlow(condExprBeforeTrueish).fork(); this.currentFlow = thenFlow; thenFlow.inheritNonnullIfTrue(condExpr); if (ifTrue.kind == NodeKind.Block) { @@ -2781,10 +2796,11 @@ export class Compiler extends DiagnosticEmitter { // Everything within a switch uses the same break context let outerFlow = this.currentFlow; - let context = outerFlow.pushBreakLabel(); + let flow = outerFlow.fork(/* reset break context */ true, /* continue context */ false); + let context = flow.pushBreakLabel(); // introduce a local for evaluating the condition (exactly once) - let tempLocal = outerFlow.getTempLocal(Type.u32); + let tempLocal = flow.getTempLocal(Type.u32); let tempLocalIndex = tempLocal.index; // Prepend initializer to inner block. Does not initiate a new branch, yet. @@ -2825,15 +2841,16 @@ export class Compiler extends DiagnosticEmitter { // nest blocks in order let currentBlock = module.block(`case0|${context}`, breaks, TypeRef.None); - let commonCategorical = FlowFlags.AnyCategorical; - let commonConditional = 0; + let fallThroughFlow: Flow | null = null; + let mutualBreakingFlow: Flow | null = null; for (let i = 0; i < numCases; ++i) { let case_ = cases[i]; let statements = case_.statements; let numStatements = statements.length; - // Each switch case initiates a new branch - let innerFlow = outerFlow.fork(); + // Can get here by matching the case or by fall-through + let innerFlow = flow.fork(); + if (fallThroughFlow) innerFlow.inheritBranch(fallThroughFlow); this.currentFlow = innerFlow; let breakLabel = `break|${context}`; innerFlow.breakLabel = breakLabel; @@ -2843,38 +2860,40 @@ export class Compiler extends DiagnosticEmitter { let stmts = new Array(1 + numStatements); stmts[0] = currentBlock; let count = 1; - let terminates = false; + let possiblyFallsThrough = true; for (let j = 0; j < numStatements; ++j) { let stmt = this.compileStatement(statements[j]); if (getExpressionId(stmt) != ExpressionId.Nop) { stmts[count++] = stmt; } if (innerFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks)) { - if (innerFlow.is(FlowFlags.Terminates)) terminates = true; + possiblyFallsThrough = false; break; } } stmts.length = count; - if (terminates || isLast || innerFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks)) { - commonCategorical &= innerFlow.flags; + fallThroughFlow = possiblyFallsThrough ? innerFlow : null; + let possiblyBreaks = innerFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks); + innerFlow.unset(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks); // clear + if (possiblyBreaks || (isLast && possiblyFallsThrough)) { + if (mutualBreakingFlow) mutualBreakingFlow.inheritMutual(mutualBreakingFlow, innerFlow); + else mutualBreakingFlow = innerFlow; } - - commonConditional |= innerFlow.deriveConditionalFlags(); - - // Switch back to the parent flow - innerFlow.unset( - FlowFlags.Breaks | - FlowFlags.ConditionallyBreaks - ); - this.currentFlow = outerFlow; + this.currentFlow = flow; currentBlock = module.block(nextLabel, stmts, TypeRef.None); // must be a labeled block } - outerFlow.popBreakLabel(); + flow.popBreakLabel(); - // If the switch has a default (guaranteed to handle any value), propagate common flags - if (defaultIndex >= 0) outerFlow.flags |= commonCategorical & ~FlowFlags.Breaks; - outerFlow.flags |= commonConditional & ~FlowFlags.ConditionallyBreaks; - // TODO: what about local states? + // If the switch has a default, we only get past through any breaking flow + if (defaultIndex >= 0) { + if (mutualBreakingFlow) outerFlow.inherit(mutualBreakingFlow); + else outerFlow.set(FlowFlags.Terminates); + // Otherwise either skipping or any breaking flow can get past + } else { + if (mutualBreakingFlow) outerFlow.inheritMutual(flow, mutualBreakingFlow); + else outerFlow.inherit(flow); + } + this.currentFlow = outerFlow; return currentBlock; } @@ -2929,6 +2948,7 @@ export class Compiler extends DiagnosticEmitter { let name = declaration.name.text; let type: Type | null = null; let initExpr: ExpressionRef = 0; + let initType: Type | null = null; // Resolve type if annotated let typeNode = declaration.type; @@ -2949,6 +2969,7 @@ export class Compiler extends DiagnosticEmitter { initExpr = this.compileExpression(initializerNode, type, // reports Constraints.ConvImplicit ); + initType = this.currentType; pendingElements.delete(dummy); flow.freeScopedDummyLocal(name); } @@ -2959,6 +2980,7 @@ export class Compiler extends DiagnosticEmitter { let temp = flow.addScopedDummyLocal(name, Type.auto, statement); // pending dummy pendingElements.add(temp); initExpr = this.compileExpression(initializerNode, Type.auto); // reports + initType = this.currentType; pendingElements.delete(temp); flow.freeScopedDummyLocal(name); @@ -2969,7 +2991,7 @@ export class Compiler extends DiagnosticEmitter { ); continue; } - type = this.currentType; + type = initType; // Error if there's neither a type nor an initializer } else { @@ -3093,7 +3115,7 @@ export class Compiler extends DiagnosticEmitter { } if (initExpr) { initializers.push( - this.makeLocalAssignment(local, initExpr, type, false) + this.makeLocalAssignment(local, initExpr, initType ? initType : type, false) ); } else { // no need to assign zero @@ -4549,7 +4571,7 @@ export class Compiler extends DiagnosticEmitter { leftExpr = this.compileExpression(left, contextualType.exceptVoid, inheritedConstraints); leftType = this.currentType; - let rightFlow = flow.fork(); + let rightFlow = flow.getTrueFlow(leftExpr).fork(); this.currentFlow = rightFlow; rightFlow.inheritNonnullIfTrue(leftExpr); @@ -4573,13 +4595,14 @@ export class Compiler extends DiagnosticEmitter { expr = module.if(leftExpr, rightExpr, module.i32(0)); } } + flow.inheritBranch(rightFlow, condKind); + flow.noteTrueFlow(expr, rightFlow); this.currentFlow = flow; this.currentType = Type.bool; } else { rightExpr = this.compileExpression(right, leftType, inheritedConstraints | Constraints.ConvImplicit); rightType = this.currentType; - this.currentFlow = flow; // simplify if copying left is trivial if (expr = module.tryCopyTrivialExpression(leftExpr)) { @@ -4600,6 +4623,9 @@ export class Compiler extends DiagnosticEmitter { module.local_get(tempLocal.index, leftType.toRef()) ); } + flow.inheritBranch(rightFlow); + flow.noteTrueFlow(expr, rightFlow); + this.currentFlow = flow; this.currentType = leftType; } break; @@ -6318,6 +6344,7 @@ export class Compiler extends DiagnosticEmitter { body.push( module.local_set(thisLocal.index, thisArg, thisType.isManaged) ); + flow.setLocalFlag(thisLocal.index, LocalFlags.Initialized); let base = classInstance.base; if (base) flow.addScopedAlias(CommonNames.super_, base.type, thisLocal.index); } else { @@ -6333,6 +6360,7 @@ export class Compiler extends DiagnosticEmitter { body.push( module.local_set(argumentLocal.index, paramExpr, paramType.isManaged) ); + flow.setLocalFlag(argumentLocal.index, LocalFlags.Initialized); } // Compile omitted arguments with final argument locals blocked. Doesn't need to take care of @@ -7322,6 +7350,12 @@ export class Compiler extends DiagnosticEmitter { return this.compileInlineConstant(local, contextualType, constraints); } let localIndex = local.index; + if (!flow.isLocalFlag(localIndex, LocalFlags.Initialized)) { + this.error( + DiagnosticCode.Variable_0_is_used_before_being_assigned, + expression.range, local.name + ); + } assert(localIndex >= 0); if (localType.isNullableReference && flow.isLocalFlag(localIndex, LocalFlags.NonNull, false)) { localType = localType.nonNullableType; @@ -10396,5 +10430,5 @@ function mangleImportName( } } -let mangleImportName_moduleName: string; -let mangleImportName_elementName: string; +let mangleImportName_moduleName: string = ""; +let mangleImportName_elementName: string = ""; diff --git a/src/diagnosticMessages.json b/src/diagnosticMessages.json index 87edc3d34d..6495a0c4a9 100644 --- a/src/diagnosticMessages.json +++ b/src/diagnosticMessages.json @@ -49,6 +49,7 @@ "Only variables, functions and enums become WebAssembly module exports.": 235, "Literal '{0}' does not fit into 'i64' or 'u64' types.": 236, "Index signature accessors in type '{0}' differ in types.": 237, + "Initializer expected.": 238, "Importing the table disables some indirect call optimizations.": 901, "Exporting the table disables some indirect call optimizations.": 902, @@ -165,6 +166,7 @@ "Variable '{0}' used before its declaration.": 2448, "Cannot redeclare block-scoped variable '{0}'" : 2451, "The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly.": 2453, + "Variable '{0}' is used before being assigned.": 2454, "Type alias '{0}' circularly references itself.": 2456, "Type '{0}' has no property '{1}'.": 2460, "The '{0}' operator cannot be applied to type '{1}'.": 2469, diff --git a/src/flow.ts b/src/flow.ts index fbf9f296b1..969bfd5ec5 100644 --- a/src/flow.ts +++ b/src/flow.ts @@ -246,6 +246,8 @@ export class Flow { thisFieldFlags: Map | null = null; /** The label we break to when encountering a return statement, when inlining. */ inlineReturnLabel: string | null = null; + /** Alternative flows if a compound expression is true-ish. */ + trueFlows: Map | null = null; /** Tests if this is an inline flow. */ get isInline(): bool { @@ -308,21 +310,31 @@ export class Flow { } /** Forks this flow to a child flow. */ - fork(resetBreakContext: bool = false): Flow { + fork( + /** Whether a new break context is established, e.g. by a block. */ + newBreakContext: bool = false, + /** Whether a new continue context is established, e.g. by a loop. */ + newContinueContext: bool = newBreakContext + ): Flow { let branch = new Flow(this.targetFunction, this.inlineFunction); branch.parent = this; + branch.flags = this.flags; branch.outer = this.outer; - if (resetBreakContext) { - branch.flags = this.flags & ~( + if (newBreakContext) { + branch.flags &= ~( FlowFlags.Breaks | - FlowFlags.ConditionallyBreaks | + FlowFlags.ConditionallyBreaks + ); + } else { + branch.breakLabel = this.breakLabel; + } + if (newContinueContext) { + branch.flags &= ~( FlowFlags.Continues | FlowFlags.ConditionallyContinues ); } else { - branch.flags = this.flags; branch.continueLabel = this.continueLabel; - branch.breakLabel = this.breakLabel; } branch.localFlags = this.localFlags.slice(); if (this.sourceFunction.is(CommonFlags.Constructor)) { @@ -552,7 +564,6 @@ export class Flow { /** Inherits flags of another flow into this one, i.e. a finished inner block. */ inherit(other: Flow): void { assert(other.targetFunction == this.targetFunction); - assert(other.parent == this); // currently the case, but might change let otherFlags = other.flags; // respective inner flags are irrelevant if contexts differ @@ -1085,6 +1096,20 @@ export class Flow { } } + /** Remembers the alternative flow if `expr` is true. */ + noteTrueFlow(expr: ExpressionRef, trueFlow: Flow): void { + let trueFlows = this.trueFlows; + if (!trueFlows) this.trueFlows = trueFlows = new Map(); + trueFlows.set(expr, trueFlow); + } + + /** Gets the alternative flow if `expr` is true, if any. */ + getTrueFlow(expr: ExpressionRef): Flow { + let trueFlows = this.trueFlows; + if (!trueFlows || !trueFlows.has(expr)) return this; + return changetype(trueFlows.get(expr)); + } + /** * Tests if an expression can possibly overflow in the context of this flow. Assumes that the * expression might already have overflown and returns `false` only if the operation neglects diff --git a/src/program.ts b/src/program.ts index 63360df1be..234f6b855b 100644 --- a/src/program.ts +++ b/src/program.ts @@ -138,7 +138,8 @@ import { } from "./resolver"; import { - Flow + Flow, + LocalFlags } from "./flow"; import { @@ -1983,7 +1984,7 @@ export class Program extends DiagnosticEmitter { } } classReference = classReference.base; - } while(classReference); + } while (classReference); } else { let signatureReference = type.getSignature(); if (signatureReference) { @@ -3767,7 +3768,8 @@ export class Function extends TypedElement { this.original = this; let program = prototype.program; this.type = signature.type; - this.flow = Flow.createDefault(this); + let flow = Flow.createDefault(this); + this.flow = flow; if (!prototype.is(CommonFlags.Ambient)) { let localIndex = 0; let thisType = signature.thisType; @@ -3782,6 +3784,7 @@ export class Function extends TypedElement { if (!scopedLocals) this.flow.scopedLocals = scopedLocals = new Map(); scopedLocals.set(CommonNames.this_, local); this.localsByIndex[local.index] = local; + flow.setLocalFlag(local.index, LocalFlags.Initialized); } let parameterTypes = signature.parameterTypes; for (let i = 0, k = parameterTypes.length; i < k; ++i) { @@ -3797,6 +3800,7 @@ export class Function extends TypedElement { if (!scopedLocals) this.flow.scopedLocals = scopedLocals = new Map(); scopedLocals.set(parameterName, local); this.localsByIndex[local.index] = local; + flow.setLocalFlag(local.index, LocalFlags.Initialized); } } registerConcreteElement(program, this); diff --git a/std/assembly/rt/itcms.ts b/std/assembly/rt/itcms.ts index 5b19c2a598..b44b69af25 100644 --- a/std/assembly/rt/itcms.ts +++ b/std/assembly/rt/itcms.ts @@ -49,7 +49,7 @@ import { E_ALLOCATION_TOO_LARGE, E_ALREADY_PINNED, E_NOT_PINNED } from "../util/ // @ts-ignore: decorator @lazy let pinSpace = initLazy(changetype(memory.data(offsetof()))); // @ts-ignore: decorator -@lazy let iter: Object; // null +@lazy let iter: Object = changetype(0); // unsafe initializion below function initLazy(space: Object): Object { space.nextWithColor = changetype(space); diff --git a/std/assembly/rt/tlsf.ts b/std/assembly/rt/tlsf.ts index 30669c775c..df437b82cb 100644 --- a/std/assembly/rt/tlsf.ts +++ b/std/assembly/rt/tlsf.ts @@ -137,7 +137,7 @@ import { E_ALLOCATION_TOO_LARGE } from "../util/error"; @inline const ROOT_SIZE: usize = HL_END + sizeof(); // @ts-ignore: decorator -@lazy export let ROOT: Root; +@lazy export let ROOT: Root = changetype(0); // unsafe initializion below /** Gets the second level map of the specified first level. */ // @ts-ignore: decorator From 9673b17c328f71332fa17e1d2293f5f195e52d09 Mon Sep 17 00:00:00 2001 From: dcode Date: Fri, 25 Nov 2022 19:43:05 +0100 Subject: [PATCH 02/14] progress --- src/compiler.ts | 513 ++-- src/flow.ts | 90 +- std/assembly/staticarray.ts | 6 +- std/assembly/symbol.ts | 9 +- tests/compiler/NonNullable.debug.wat | 3 - tests/compiler/binary.debug.wat | 9 - tests/compiler/bindings/esm.debug.wat | 21 - .../bindings/noExportRuntime.debug.wat | 15 - tests/compiler/bindings/raw.debug.wat | 21 - tests/compiler/builtins.debug.wat | 3 - tests/compiler/call-super.debug.wat | 12 - tests/compiler/class-implements.debug.wat | 12 - .../compiler/class-overloading-cast.debug.wat | 15 - tests/compiler/class-overloading.debug.wat | 15 - tests/compiler/class.debug.wat | 12 - tests/compiler/constructor.debug.wat | 12 - tests/compiler/do.debug.wat | 23 +- tests/compiler/duplicate-fields.debug.wat | 12 - tests/compiler/empty-exportruntime.debug.wat | 18 - tests/compiler/empty-new.debug.wat | 12 - .../compiler/exportstar-rereexport.debug.wat | 12 - .../compiler/extends-baseaggregate.debug.wat | 18 - tests/compiler/extends-recursive.debug.wat | 12 - .../features/reference-types.debug.wat | 4 + tests/compiler/features/reference-types.ts | 2 +- tests/compiler/field-initialization.debug.wat | 15 - tests/compiler/field.debug.wat | 21 - tests/compiler/for.debug.wat | 22 +- tests/compiler/for.release.wat | 12 +- tests/compiler/function-call.debug.wat | 12 - tests/compiler/function-expression.debug.wat | 30 +- .../compiler/function-expression.release.wat | 12 +- tests/compiler/function-expression.ts | 13 +- tests/compiler/getter-call.debug.wat | 12 - tests/compiler/infer-array.debug.wat | 21 - tests/compiler/infer-generic.debug.wat | 12 - tests/compiler/inlining.debug.wat | 12 - tests/compiler/instanceof.debug.wat | 328 ++- tests/compiler/instanceof.release.wat | 273 +- tests/compiler/instanceof.ts | 4 +- tests/compiler/issues/1095.debug.wat | 12 - tests/compiler/issues/1225.debug.wat | 18 - tests/compiler/issues/1699.debug.wat | 15 - tests/compiler/issues/1714.debug.wat | 3 - tests/compiler/issues/2166.debug.wat | 15 - tests/compiler/issues/2322/index.debug.wat | 12 - tests/compiler/localinit.debug.wat | 168 ++ tests/compiler/localinit.json | 5 + tests/compiler/localinit.release.wat | 4 + tests/compiler/localinit.ts | 77 + tests/compiler/logical.debug.wat | 18 - tests/compiler/loop-flow.debug.wat | 15 +- tests/compiler/loop-flow.release.wat | 18 +- tests/compiler/managed-cast.debug.wat | 18 - tests/compiler/memcpy.debug.wat | 335 ++- tests/compiler/memmove.debug.wat | 34 +- tests/compiler/memset.debug.wat | 3 - tests/compiler/new.debug.wat | 12 - tests/compiler/new.ts | 6 +- tests/compiler/object-literal.debug.wat | 21 - .../optional-typeparameters.debug.wat | 15 - tests/compiler/possibly-null.debug.wat | 9 - tests/compiler/reexport.debug.wat | 12 - tests/compiler/rereexport.debug.wat | 12 - tests/compiler/resolve-access.debug.wat | 45 +- tests/compiler/resolve-binary.debug.wat | 196 +- .../compiler/resolve-elementaccess.debug.wat | 193 +- .../resolve-function-expression.debug.wat | 45 +- tests/compiler/resolve-nested.ts | 28 +- tests/compiler/resolve-new.debug.wat | 12 - .../compiler/resolve-propertyaccess.debug.wat | 45 +- tests/compiler/resolve-ternary.debug.wat | 193 +- tests/compiler/resolve-unary.debug.wat | 45 +- tests/compiler/return-unreachable.debug.wat | 12 - tests/compiler/rt/finalize.debug.wat | 18 - .../rt/runtime-incremental-export.debug.wat | 18 - .../rt/runtime-minimal-export.debug.wat | 9 - tests/compiler/simd.debug.wat | 12 - tests/compiler/std/array-access.debug.wat | 3 - tests/compiler/std/array-literal.debug.wat | 24 - tests/compiler/std/array.debug.wat | 1255 ++++---- tests/compiler/std/array.release.wat | 2525 +++++++++-------- tests/compiler/std/arraybuffer.debug.wat | 18 - tests/compiler/std/dataview.debug.wat | 18 - tests/compiler/std/date.debug.wat | 143 +- tests/compiler/std/date.release.wat | 16 +- tests/compiler/std/hash.debug.wat | 134 +- tests/compiler/std/map.debug.wat | 132 - tests/compiler/std/math.debug.wat | 18 - tests/compiler/std/mod.debug.wat | 6 - tests/compiler/std/new.debug.wat | 12 - tests/compiler/std/object.debug.wat | 3 - .../std/operator-overloading.debug.wat | 18 - tests/compiler/std/set.debug.wat | 78 - tests/compiler/std/static-array.debug.wat | 12 - tests/compiler/std/staticarray.debug.wat | 157 +- tests/compiler/std/staticarray.release.wat | 172 +- .../compiler/std/string-casemapping.debug.wat | 188 +- tests/compiler/std/string-encoding.debug.wat | 72 +- tests/compiler/std/string-nonnull.debug.wat | 3 - tests/compiler/std/string.debug.wat | 861 +++--- tests/compiler/std/string.release.wat | 237 +- tests/compiler/std/string.ts | 2 +- tests/compiler/std/symbol.debug.wat | 402 ++- tests/compiler/std/symbol.release.wat | 1097 ++++--- tests/compiler/std/typedarray.debug.wat | 1128 +++----- tests/compiler/std/uri.debug.wat | 47 +- tests/compiler/super-inline.debug.wat | 12 - tests/compiler/templateliteral.debug.wat | 196 +- tests/compiler/throw.debug.wat | 21 - tests/compiler/typeof.debug.wat | 15 - tests/compiler/unify-local-flags.debug.wat | 7 +- tests/compiler/unify-local-flags.release.wat | 4 +- tests/compiler/while.debug.wat | 67 +- tests/compiler/while.release.wat | 12 +- 115 files changed, 5243 insertions(+), 7280 deletions(-) create mode 100644 tests/compiler/localinit.debug.wat create mode 100644 tests/compiler/localinit.json create mode 100644 tests/compiler/localinit.release.wat create mode 100644 tests/compiler/localinit.ts diff --git a/src/compiler.ts b/src/compiler.ts index d8fa5fd044..d05d8f1d87 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -1176,7 +1176,7 @@ export class Compiler extends DiagnosticEmitter { // // let foo: string; // function bar() { - // console.log(foo.length); // no error even though undefined + // foo.length; // no error even though undefined // } // bar(); // @@ -2323,30 +2323,29 @@ export class Compiler extends DiagnosticEmitter { let outerFlow = this.currentFlow; let numLocalsBefore = outerFlow.targetFunction.localsByIndex.length; - // (block $break └►┐ flow - // (loop $loop ├◄───────────┐ recompile? - // (?block $continue └─┐ │ - // (body) │ bodyFlow │ - // ) ┌─┘ │ - // ┌◄┼►╢ │ breaks or terminates? - // │ └─┐ │ but does not continue - // (br_if (cond) $loop) │ │ condFlow │ - // │ ┌─┘ │ - // ├◄┴────────────┘ condition? - // ) └─┐ - // ) ┌─┘ + // (block $break + // (loop $loop + // (?block $continue + // (body) + // ) + // (br_if (condition) $loop) + // ) + // ) - let label = outerFlow.pushBreakLabel(); - let flow = outerFlow.fork(/* resetBreakContext */ true); - this.currentFlow = flow; + // Cases of interest: + // * If the body never falls through or continues, the condition never executes + // * If the condition is always true and body never breaks, overall flow terminates + // * If the body terminates with a continue, condition is still reached + // Compile the body (always executes) + let flow = outerFlow.fork(/* resetBreakContext */ true); + let label = flow.pushBreakLabel(); let breakLabel = `do-break|${label}`; flow.breakLabel = breakLabel; let continueLabel = `do-continue|${label}`; flow.continueLabel = continueLabel; let loopLabel = `do-loop|${label}`; - - // Compile the body (always executes) + this.currentFlow = flow; let bodyStmts = new Array(); let body = statement.body; if (body.kind == NodeKind.Block) { @@ -2354,73 +2353,67 @@ export class Compiler extends DiagnosticEmitter { } else { bodyStmts.push(this.compileStatement(body)); } + flow.popBreakLabel(); - // Shortcut if body never falls through let possiblyContinues = flow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues); - if (flow.isAny(FlowFlags.Terminates | FlowFlags.Breaks) && !possiblyContinues) { + let possiblyBreaks = flow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks); + let possiblyFallsThrough = !flow.isAny(FlowFlags.Terminates | FlowFlags.Breaks); + + // Shortcut if the condition is never reached + if (!possiblyFallsThrough && !possiblyContinues) { bodyStmts.push( module.unreachable() ); + outerFlow.inherit(flow); + + // If the body also never breaks, the overall flow terminates + if (!possiblyBreaks) { + outerFlow.set(FlowFlags.Terminates); + } - // Otherwise compile and evaluate the condition + // Otherwise compile and evaluate the condition (from here on always executes) } else { - let condExprBeforeTrueish = this.compileExpression(statement.condition, Type.bool); - let condExpr = this.makeIsTrueish(condExprBeforeTrueish, this.currentType, statement.condition); - let condKind = this.evaluateCondition(condExpr); + let condExpr = this.compileExpression(statement.condition, Type.bool); + let condExprTrueish = this.makeIsTrueish(condExpr, this.currentType, statement.condition); + let condKind = this.evaluateCondition(condExprTrueish); + + // Detect if local flags are incompatible before and after looping, and + // if so recompile by unifying local flags between iterations. Note that + // this may be necessary multiple times where locals depend on each other. + let possiblyLoops = condKind != ConditionKind.False && (possiblyContinues || possiblyFallsThrough); + if (possiblyLoops && outerFlow.resetIfNeedsRecompile(flow.forkThen(condExpr), numLocalsBefore)) { + this.currentFlow = outerFlow; + return this.doCompileDoStatement(statement); + } if (possiblyContinues) { bodyStmts[0] = module.block(continueLabel, bodyStmts); bodyStmts.length = 1; + flow.unset(FlowFlags.Terminates); // Continue breaks to condition } + bodyStmts.push( + module.br(loopLabel, + condExprTrueish + ) + ); + outerFlow.inherit(flow); - // Shortcut if condition is always false - if (condKind == ConditionKind.False) { - bodyStmts.push( - module.drop(condExpr) - ); - - } else { - // Terminate if condition is always true and body never breaks - if (condKind == ConditionKind.True && !flow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks)) { - bodyStmts.push( - module.drop(condExpr) - ); - bodyStmts.push( - module.br(loopLabel) - ); - flow.set(FlowFlags.Terminates); - - // Otherwise loop conditionally - } else { - bodyStmts.push( - module.br(loopLabel, - condExpr - ) - ); - } - - // Detect if local flags are incompatible before and after looping, and - // if so recompile by unifying local flags between iterations. Note that - // this may be necessary multiple times where locals depend on each other. - let loopingFlow = flow.getTrueFlow(condExprBeforeTrueish).fork(); - loopingFlow.inheritNonnullIfTrue(condExpr); - if (outerFlow.resetIfNeedsRecompile(loopingFlow, numLocalsBefore)) { - outerFlow.popBreakLabel(); - this.currentFlow = outerFlow; - return this.doCompileDoStatement(statement); - } + // Terminate if the condition is always true and body never breaks + if (condKind == ConditionKind.True && !possiblyBreaks) { + outerFlow.set(FlowFlags.Terminates); } } - // Finalize - outerFlow.inherit(flow); - outerFlow.popBreakLabel(); + // Finalize and leave everything else to the optimizer this.currentFlow = outerFlow; - let expr = module.block(breakLabel, [ - module.loop(loopLabel, - module.flatten(bodyStmts) - ) - ]); + let expr = module.loop(loopLabel, + module.flatten(bodyStmts) + ); + if (possiblyBreaks) { + expr = module.block(breakLabel, [ + expr + ]); + } if (outerFlow.is(FlowFlags.Terminates)) { expr = module.block(null, [ expr, module.unreachable() ]); } @@ -2498,20 +2491,18 @@ export class Compiler extends DiagnosticEmitter { let condFlow = flow.fork(); this.currentFlow = condFlow; let condExpr: ExpressionRef; + let condExprTrueish: ExpressionRef; let condKind: ConditionKind; let condition = statement.condition; if (condition) { - condExpr = this.makeIsTrueish( - this.compileExpression(condition, Type.bool), - this.currentType, - condition - ); - condKind = this.evaluateCondition(condExpr); + condExpr = this.compileExpression(condition, Type.bool); + condExprTrueish = this.makeIsTrueish(condExpr, this.currentType, condition); + condKind = this.evaluateCondition(condExprTrueish); // Shortcut if condition is always false (body never runs) if (condKind == ConditionKind.False) { stmts.push( - module.drop(condExpr) + module.drop(condExprTrueish) ); flow.inherit(condFlow); outerFlow.inherit(flow); @@ -2520,7 +2511,7 @@ export class Compiler extends DiagnosticEmitter { return module.flatten(stmts); } } else { - condExpr = module.i32(1); + condExpr = condExprTrueish = module.i32(1); condKind = ConditionKind.True; } @@ -2530,15 +2521,14 @@ export class Compiler extends DiagnosticEmitter { let tcond = flow.getTempLocal(Type.bool); let loopStmts = new Array(); loopStmts.push( - module.local_set(tcond.index, condExpr, false) // bool + module.local_set(tcond.index, condExprTrueish, false) // bool ); flow.inherit(condFlow); // always executes this.currentFlow = flow; // Compile the body assuming the condition turned out true - let bodyFlow = flow.fork(); - bodyFlow.inheritNonnullIfTrue(condExpr); + let bodyFlow = flow.forkThen(condExpr); this.currentFlow = bodyFlow; let bodyStmts = new Array(); let body = statement.body; @@ -2553,7 +2543,7 @@ export class Compiler extends DiagnosticEmitter { bodyStmts.push(module.unreachable()); } if (condKind == ConditionKind.True) flow.inherit(bodyFlow); - else flow.inheritBranch(bodyFlow); + else flow.mergeBranch(bodyFlow); let ifStmts = new Array(); ifStmts.push( @@ -2644,29 +2634,29 @@ export class Compiler extends DiagnosticEmitter { // ... ┌◄┘ // Precompute the condition (always executes) - let condExprBeforeTrueish = this.compileExpression(statement.condition, Type.bool); - let condExpr = this.makeIsTrueish( - condExprBeforeTrueish, + let condExpr = this.compileExpression(statement.condition, Type.bool); + let condExprTrueish = this.makeIsTrueish( + condExpr, this.currentType, statement.condition ); - let condKind = this.evaluateCondition(condExpr); + let condKind = this.evaluateCondition(condExprTrueish); // Shortcut if the condition is constant switch (condKind) { case ConditionKind.True: { return module.block(null, [ - module.drop(condExpr), + module.drop(condExprTrueish), this.compileStatement(ifTrue) ]); } case ConditionKind.False: { return ifFalse ? module.block(null, [ - module.drop(condExpr), + module.drop(condExprTrueish), this.compileStatement(ifFalse) ]) - : module.drop(condExpr); + : module.drop(condExprTrueish); } } @@ -2676,9 +2666,8 @@ export class Compiler extends DiagnosticEmitter { // Compile ifTrue assuming the condition turned out true let thenStmts = new Array(); - let thenFlow = flow.getTrueFlow(condExprBeforeTrueish).fork(); + let thenFlow = flow.forkThen(condExpr); this.currentFlow = thenFlow; - thenFlow.inheritNonnullIfTrue(condExpr); if (ifTrue.kind == NodeKind.Block) { this.compileStatements((ifTrue).statements, false, thenStmts); } else { @@ -2691,11 +2680,10 @@ export class Compiler extends DiagnosticEmitter { this.currentFlow = flow; // Compile ifFalse assuming the condition turned out false, if present + let elseFlow = flow.forkElse(condExpr); if (ifFalse) { - let elseStmts = new Array(); - let elseFlow = flow.fork(); this.currentFlow = elseFlow; - elseFlow.inheritNonnullIfFalse(condExpr); + let elseStmts = new Array(); if (ifFalse.kind == NodeKind.Block) { this.compileStatements((ifFalse).statements, false, elseStmts); } else { @@ -2705,20 +2693,23 @@ export class Compiler extends DiagnosticEmitter { if (elseTerminates) { elseStmts.push(module.unreachable()); } + flow.inheritAlternatives(thenFlow, elseFlow); this.currentFlow = flow; - flow.inheritMutual(thenFlow, elseFlow); - return module.if(condExpr, + return module.if(condExprTrueish, module.flatten(thenStmts), module.flatten(elseStmts) ); } else { - flow.inheritBranch(thenFlow); - flow.inheritNonnullIfFalse(condExpr, - thenFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks) - ? null // thenFlow terminates: just inherit - : thenFlow // must become nonnull in thenFlow otherwise - ); - return module.if(condExpr, + if (thenFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks)) { + // Only getting past if condition was false + flow.inherit(elseFlow); + flow.mergeEffects(thenFlow); + } else { + // Otherwise getting past conditionally + flow.inheritAlternatives(thenFlow, elseFlow); + } + this.currentFlow = flow; + return module.if(condExprTrueish, module.flatten(thenStmts) ); } @@ -2785,78 +2776,69 @@ export class Compiler extends DiagnosticEmitter { statement: SwitchStatement ): ExpressionRef { let module = this.module; - let cases = statement.cases; let numCases = cases.length; - if (!numCases) { - return this.compileExpression(statement.condition, Type.void, - Constraints.ConvImplicit - ); - } - // Everything within a switch uses the same break context - let outerFlow = this.currentFlow; - let flow = outerFlow.fork(/* reset break context */ true, /* continue context */ false); - let context = flow.pushBreakLabel(); + // Compile the condition (always executes) + let condExpr = this.compileExpression(statement.condition, Type.u32, + Constraints.ConvImplicit + ); - // introduce a local for evaluating the condition (exactly once) - let tempLocal = flow.getTempLocal(Type.u32); + // Shortcut if there are no cases + if (!numCases) return module.drop(condExpr); + + // Assign the condition to a temporary local as we compare it multiple times + let outerFlow = this.currentFlow; + let tempLocal = outerFlow.getTempLocal(Type.u32); let tempLocalIndex = tempLocal.index; - - // Prepend initializer to inner block. Does not initiate a new branch, yet. let breaks = new Array(1 + numCases); - breaks[0] = module.local_set( // initializer - tempLocalIndex, - this.compileExpression(statement.condition, Type.u32, - Constraints.ConvImplicit - ), - false // u32 - ); - - // make one br_if per (possibly dynamic) labeled case (binaryen optimizes to br_table where possible) + breaks[0] = module.local_set(tempLocalIndex, condExpr, false); // u32 + + // Make one br_if per labeled case and leave it to Binaryen to optimize the + // sequence of br_ifs to a br_table according to optimization levels let breakIndex = 1; let defaultIndex = -1; + let label = outerFlow.pushBreakLabel(); for (let i = 0; i < numCases; ++i) { let case_ = cases[i]; - let label = case_.label; - if (label) { - breaks[breakIndex++] = module.br(`case${i}|${context}`, - module.binary(BinaryOp.EqI32, - module.local_get(tempLocalIndex, TypeRef.I32), - this.compileExpression(label, Type.u32, - Constraints.ConvImplicit - ) - ) - ); - } else { + if (case_.isDefault) { defaultIndex = i; + continue; } + breaks[breakIndex++] = module.br(`case${i}|${label}`, + module.binary(BinaryOp.EqI32, + module.local_get(tempLocalIndex, TypeRef.I32), + this.compileExpression(assert(case_.label), Type.u32, + Constraints.ConvImplicit + ) + ) + ); } - // otherwise br to default respectively out of the switch if there is no default case + // If there is a default case, break to it, otherwise break out of the switch breaks[breakIndex] = module.br(defaultIndex >= 0 - ? `case${defaultIndex}|${context}` - : `break|${context}` + ? `case${defaultIndex}|${label}` + : `break|${label}` ); - // nest blocks in order - let currentBlock = module.block(`case0|${context}`, breaks, TypeRef.None); + // Nest the case blocks in order, to be targeted by the br_if sequence + let currentBlock = module.block(`case0|${label}`, breaks, TypeRef.None); let fallThroughFlow: Flow | null = null; - let mutualBreakingFlow: Flow | null = null; + let breakingFlowAlternatives: Flow | null = null; for (let i = 0; i < numCases; ++i) { let case_ = cases[i]; let statements = case_.statements; let numStatements = statements.length; - // Can get here by matching the case or by fall-through - let innerFlow = flow.fork(); - if (fallThroughFlow) innerFlow.inheritBranch(fallThroughFlow); + // Can get here by matching the case or possibly by fall-through + let innerFlow = outerFlow.fork(/* newBreakContext */ true, /* newContinueContext */ false); + if (fallThroughFlow) innerFlow.mergeBranch(fallThroughFlow); this.currentFlow = innerFlow; - let breakLabel = `break|${context}`; + let breakLabel = `break|${label}`; innerFlow.breakLabel = breakLabel; let isLast = i == numCases - 1; - let nextLabel = isLast ? breakLabel : `case${i + 1}|${context}`; + let nextLabel = isLast ? breakLabel : `case${i + 1}|${label}`; let stmts = new Array(1 + numStatements); stmts[0] = currentBlock; let count = 1; @@ -2875,24 +2857,32 @@ export class Compiler extends DiagnosticEmitter { fallThroughFlow = possiblyFallsThrough ? innerFlow : null; let possiblyBreaks = innerFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks); innerFlow.unset(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks); // clear + + // Combine all alternatives that merge again with outer flow if (possiblyBreaks || (isLast && possiblyFallsThrough)) { - if (mutualBreakingFlow) mutualBreakingFlow.inheritMutual(mutualBreakingFlow, innerFlow); - else mutualBreakingFlow = innerFlow; + if (breakingFlowAlternatives) breakingFlowAlternatives.inheritAlternatives(breakingFlowAlternatives, innerFlow); + else breakingFlowAlternatives = innerFlow; + + // Otherwise just merge the effects of a non-merging branch + } else if (!possiblyFallsThrough) { + outerFlow.mergeEffects(innerFlow); } - this.currentFlow = flow; + + this.currentFlow = outerFlow; currentBlock = module.block(nextLabel, stmts, TypeRef.None); // must be a labeled block } - flow.popBreakLabel(); + outerFlow.popBreakLabel(); // If the switch has a default, we only get past through any breaking flow if (defaultIndex >= 0) { - if (mutualBreakingFlow) outerFlow.inherit(mutualBreakingFlow); + if (breakingFlowAlternatives) outerFlow.inherit(breakingFlowAlternatives); else outerFlow.set(FlowFlags.Terminates); - // Otherwise either skipping or any breaking flow can get past - } else { - if (mutualBreakingFlow) outerFlow.inheritMutual(flow, mutualBreakingFlow); - else outerFlow.inherit(flow); + + // Otherwise either none or any breaking flow can get past + } else if (breakingFlowAlternatives) { + outerFlow.inheritAlternatives(outerFlow, breakingFlowAlternatives); } + this.currentFlow = outerFlow; return currentBlock; } @@ -3154,64 +3144,37 @@ export class Compiler extends DiagnosticEmitter { let outerFlow = this.currentFlow; let numLocalsBefore = outerFlow.targetFunction.localsByIndex.length; - // (block $break └►┐ flow - // (loop $continue ├◄───────────┐ recompile? - // (local.set $tcond (condition)) └─┐ condFlow │ - // ┌─┘ │ - // (if (local.get $tcond) ┌◄┤ │ condition? - // (body) │ └─┐ bodyFlow │ - // │ ┌─┘ │ - // ├◄┼►╢ │ breaks or terminates? - // (br $continue) │ └────────────┘ - // ) └─┐ - // ) │ - // ) ┌─┘ - - let label = outerFlow.pushBreakLabel(); - let stmts = new Array(); - let flow = outerFlow.fork(/* resetBreakContext */ true); - this.currentFlow = flow; + // (block $break + // (loop $continue + // (if (condition) + // (body) + // (br $continue) + // ) + // ) - let breakLabel = `while-break|${label}`; - flow.breakLabel = breakLabel; - let continueLabel = `while-continue|${label}`; - flow.continueLabel = continueLabel; + // Cases of interest: + // * If the condition is always false, eliminate the body as it never runs + // * If the condition is always true and the body never breaks, terminate + // * If the body runs but always terminates, continue as if condition was false - // Precompute the condition - let condFlow = flow.fork(); - this.currentFlow = condFlow; - let condExpr = this.makeIsTrueish( - this.compileExpression(statement.condition, Type.bool), - this.currentType, - statement.condition - ); - let condKind = this.evaluateCondition(condExpr); + // Compile and evaluate the condition (always executes) + let condExpr = this.compileExpression(statement.condition, Type.bool); + let condExprTrueish = this.makeIsTrueish(condExpr, this.currentType, statement.condition); + let condKind = this.evaluateCondition(condExprTrueish); // Shortcut if condition is always false (body never runs) if (condKind == ConditionKind.False) { - stmts.push( - module.drop(condExpr) - ); - outerFlow.popBreakLabel(); - this.currentFlow = outerFlow; - return module.flatten(stmts); + return module.drop(condExprTrueish); } - // From here on condition is either always true or unknown - - // Store condition result in a temp - let tcond = flow.getTempLocal(Type.bool); - stmts.push( - module.local_set(tcond.index, condExpr, false) // bool - ); - - flow.inherit(condFlow); // always executes - this.currentFlow = flow; - // Compile the body assuming the condition turned out true - let bodyFlow = flow.fork(); - bodyFlow.inheritNonnullIfTrue(condExpr); - this.currentFlow = bodyFlow; + let thenFlow = outerFlow.forkThen(condExpr, /* newBreakContext */ true); + let label = thenFlow.pushBreakLabel(); + let breakLabel = `while-break|${label}`; + thenFlow.breakLabel = breakLabel; + let continueLabel = `while-continue|${label}`; + thenFlow.continueLabel = continueLabel; + this.currentFlow = thenFlow; let bodyStmts = new Array(); let body = statement.body; if (body.kind == NodeKind.Block) { @@ -3219,66 +3182,59 @@ export class Compiler extends DiagnosticEmitter { } else { bodyStmts.push(this.compileStatement(body)); } + bodyStmts.push( + module.br(continueLabel) + ); + thenFlow.popBreakLabel(); - // Simplify if body always terminates - if (bodyFlow.is(FlowFlags.Terminates)) { - bodyStmts.push( - module.unreachable() - ); - if (condKind == ConditionKind.True) flow.inherit(bodyFlow); - else flow.inheritBranch(bodyFlow); + let possiblyContinues = thenFlow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues); + let possiblyBreaks = thenFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks); + let possiblyFallsThrough = !thenFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks); - // Terminate if condition is always true and body never breaks - } else if (condKind == ConditionKind.True && !bodyFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks)) { - bodyStmts.push( - module.br(continueLabel) - ); - flow.set(FlowFlags.Terminates); + // Detect if local flags are incompatible before and after looping, and + // if so recompile by unifying local flags between iterations. Note that + // this may be necessary multiple times where locals depend on each other. + let possiblyLoops = possiblyContinues || possiblyFallsThrough; + if (possiblyLoops && outerFlow.resetIfNeedsRecompile(thenFlow, numLocalsBefore)) { + this.currentFlow = outerFlow; + return this.doCompileWhileStatement(statement); + } - } else { - let breaks = bodyFlow.is(FlowFlags.Breaks); - if (breaks) { - bodyStmts.push( - module.unreachable() - ); - } else { - bodyStmts.push( - module.br(continueLabel) - ); + // If the condition is always true, the body's effects always happen + let alwaysTerminates = false; + if (condKind == ConditionKind.True) { + outerFlow.inherit(thenFlow); + + // If the body also never breaks, the overall flow terminates + if (!possiblyBreaks) { + alwaysTerminates = true; + outerFlow.set(FlowFlags.Terminates); } - if (condKind == ConditionKind.True) flow.inherit(bodyFlow); - else flow.inheritBranch(bodyFlow); - // Detect if local flags are incompatible before and after looping, and - // if so recompile by unifying local flags between iterations. Note that - // this may be necessary multiple times where locals depend on each other. - // Here: Only relevant if flow does not always break. - if (!breaks && outerFlow.resetIfNeedsRecompile(flow, numLocalsBefore)) { - outerFlow.popBreakLabel(); - this.currentFlow = outerFlow; - return this.doCompileWhileStatement(statement); + // Otherwise loop conditionally + } else { + let elseFlow = outerFlow.forkElse(condExpr); + if (!possiblyFallsThrough && !possiblyBreaks) { + // Only getting past if condition was false + outerFlow.inherit(elseFlow); + outerFlow.mergeEffects(thenFlow); + } else { + // Otherwise getting past conditionally + outerFlow.inheritAlternatives(thenFlow, elseFlow); } } - stmts.push( - module.if(module.local_get(tcond.index, TypeRef.I32), - module.flatten(bodyStmts) - ) - ); - this.currentFlow = flow; - // Finalize - outerFlow.inherit(flow); - outerFlow.popBreakLabel(); + // Finalize and leave everything else to the optimizer this.currentFlow = outerFlow; - let expr = module.block(breakLabel, [ + let stmts: ExpressionRef[] = [ module.loop(continueLabel, - module.flatten(stmts) + module.if(condExprTrueish, + module.flatten(bodyStmts) + ) ) - ]); - if (condKind == ConditionKind.True && outerFlow.is(FlowFlags.Terminates)) { - expr = module.block(null, [ expr, module.unreachable() ]); - } - return expr; + ]; + if (alwaysTerminates) stmts.push(module.unreachable()); + return module.block(breakLabel, stmts); } // === Expressions ============================================================================== @@ -4571,9 +4527,8 @@ export class Compiler extends DiagnosticEmitter { leftExpr = this.compileExpression(left, contextualType.exceptVoid, inheritedConstraints); leftType = this.currentType; - let rightFlow = flow.getTrueFlow(leftExpr).fork(); + let rightFlow = flow.forkThen(leftExpr); this.currentFlow = rightFlow; - rightFlow.inheritNonnullIfTrue(leftExpr); // simplify if only interested in true or false if (contextualType == Type.bool || contextualType == Type.void) { @@ -4583,6 +4538,7 @@ export class Compiler extends DiagnosticEmitter { let condKind = this.evaluateCondition(leftExpr); if (condKind == ConditionKind.False) { expr = leftExpr; + // RHS is not compiled } else { rightExpr = this.compileExpression(right, leftType, inheritedConstraints); rightType = this.currentType; @@ -4591,12 +4547,13 @@ export class Compiler extends DiagnosticEmitter { // simplify if lhs is always true if (condKind == ConditionKind.True) { expr = rightExpr; + flow.inherit(rightFlow); // true && RHS -> RHS always executes } else { expr = module.if(leftExpr, rightExpr, module.i32(0)); + flow.mergeBranch(rightFlow); // LHS && RHS -> RHS conditionally executes + flow.noteThen(expr, rightFlow); // LHS && RHS == true -> RHS always executes } } - flow.inheritBranch(rightFlow, condKind); - flow.noteTrueFlow(expr, rightFlow); this.currentFlow = flow; this.currentType = Type.bool; @@ -4623,8 +4580,8 @@ export class Compiler extends DiagnosticEmitter { module.local_get(tempLocal.index, leftType.toRef()) ); } - flow.inheritBranch(rightFlow); - flow.noteTrueFlow(expr, rightFlow); + flow.mergeBranch(rightFlow); // LHS && RHS -> RHS conditionally executes + flow.noteThen(expr, rightFlow); // LHS && RHS == true -> RHS always executes this.currentFlow = flow; this.currentType = leftType; } @@ -4636,9 +4593,8 @@ export class Compiler extends DiagnosticEmitter { leftExpr = this.compileExpression(left, contextualType.exceptVoid, inheritedConstraints); leftType = this.currentType; - let rightFlow = flow.fork(); + let rightFlow = flow.forkElse(leftExpr); this.currentFlow = rightFlow; - rightFlow.inheritNonnullIfFalse(leftExpr); // simplify if only interested in true or false if (contextualType == Type.bool || contextualType == Type.void) { @@ -4648,6 +4604,7 @@ export class Compiler extends DiagnosticEmitter { let condKind = this.evaluateCondition(leftExpr); if (condKind == ConditionKind.True) { expr = leftExpr; + // RHS is not compiled } else { rightExpr = this.compileExpression(right, leftType, inheritedConstraints); rightType = this.currentType; @@ -4656,8 +4613,11 @@ export class Compiler extends DiagnosticEmitter { // simplify if lhs is always false if (condKind == ConditionKind.False) { expr = rightExpr; + flow.inherit(rightFlow); // false || RHS -> RHS always executes } else { expr = module.if(leftExpr, module.i32(1), rightExpr); + flow.mergeBranch(rightFlow); // LHS || RHS -> RHS conditionally executes + flow.noteElse(expr, rightFlow); // LHS || RHS == false -> RHS always executes } } this.currentFlow = flow; @@ -4666,7 +4626,6 @@ export class Compiler extends DiagnosticEmitter { } else { rightExpr = this.compileExpression(right, leftType, inheritedConstraints | Constraints.ConvImplicit); rightType = this.currentType; - this.currentFlow = flow; // simplify if copying left is trivial if (expr = module.tryCopyTrivialExpression(leftExpr)) { @@ -4688,6 +4647,9 @@ export class Compiler extends DiagnosticEmitter { rightExpr ); } + flow.mergeBranch(rightFlow); // LHS || RHS -> RHS conditionally executes + flow.noteElse(expr, rightFlow); // LHS || RHS == false -> RHS always executes + this.currentFlow = flow; this.currentType = leftType; } break; @@ -7180,7 +7142,7 @@ export class Compiler extends DiagnosticEmitter { } else { let ftype = instance.type; let local = flow.addScopedLocal(instance.name, ftype); - flow.setLocalFlag(local.index, LocalFlags.Constant); + flow.setLocalFlag(local.index, LocalFlags.Constant | LocalFlags.Initialized); expr = module.local_tee(local.index, expr, ftype.isManaged); } } @@ -8979,30 +8941,25 @@ export class Compiler extends DiagnosticEmitter { let ifThen = expression.ifThen; let ifElse = expression.ifElse; - let condExpr = this.makeIsTrueish( - this.compileExpression(expression.condition, Type.bool), - this.currentType, - expression.condition - ); + let condExpr = this.compileExpression(expression.condition, Type.bool); + let condExprTrueish = this.makeIsTrueish(condExpr, this.currentType, expression.condition); // Try to eliminate unnecesssary branches if the condition is constant // FIXME: skips common denominator, inconsistently picking branch type - let condKind = this.evaluateCondition(condExpr); + let condKind = this.evaluateCondition(condExprTrueish); if (condKind == ConditionKind.True) { - return module.maybeDropCondition(condExpr, this.compileExpression(ifThen, ctxType)); + return module.maybeDropCondition(condExprTrueish, this.compileExpression(ifThen, ctxType)); } if (condKind == ConditionKind.False) { - return module.maybeDropCondition(condExpr, this.compileExpression(ifElse, ctxType)); + return module.maybeDropCondition(condExprTrueish, this.compileExpression(ifElse, ctxType)); } let outerFlow = this.currentFlow; - let ifThenFlow = outerFlow.fork(); - ifThenFlow.inheritNonnullIfTrue(condExpr); + let ifThenFlow = outerFlow.forkThen(condExpr); this.currentFlow = ifThenFlow; let ifThenExpr = this.compileExpression(ifThen, ctxType); let ifThenType = this.currentType; - let ifElseFlow = outerFlow.fork(); - ifElseFlow.inheritNonnullIfFalse(condExpr); + let ifElseFlow = outerFlow.forkElse(condExpr); this.currentFlow = ifElseFlow; let ifElseExpr = this.compileExpression(ifElse, ctxType == Type.auto ? ifThenType : ctxType); let ifElseType = this.currentType; @@ -9034,10 +8991,10 @@ export class Compiler extends DiagnosticEmitter { this.currentType = commonType; } + outerFlow.inheritAlternatives(ifThenFlow, ifElseFlow); this.currentFlow = outerFlow; - outerFlow.inheritMutual(ifThenFlow, ifElseFlow); - return module.if(condExpr, ifThenExpr, ifElseExpr); + return module.if(condExprTrueish, ifThenExpr, ifElseExpr); } private compileUnaryPostfixExpression( diff --git a/src/flow.ts b/src/flow.ts index 969bfd5ec5..8d9d9ced26 100644 --- a/src/flow.ts +++ b/src/flow.ts @@ -248,6 +248,8 @@ export class Flow { inlineReturnLabel: string | null = null; /** Alternative flows if a compound expression is true-ish. */ trueFlows: Map | null = null; + /** Alternative flows if a compound expression is false-ish. */ + falseFlows: Map | null = null; /** Tests if this is an inline flow. */ get isInline(): bool { @@ -347,6 +349,52 @@ export class Flow { return branch; } + /** Forks this flow to a child flow where `condExpr` is true-ish. */ + forkThen( + /** Condition that turned out to be true. */ + condExpr: ExpressionRef, + /** Whether a new break context is established, e.g. by a block. */ + newBreakContext: bool = false, + /** Whether a new continue context is established, e.g. by a loop. */ + newContinueContext: bool = newBreakContext + ): Flow { + let flow = this.fork(newBreakContext, newContinueContext); + let trueFlows = this.trueFlows; + if (trueFlows && trueFlows.has(condExpr)) { + flow.inherit(changetype(trueFlows.get(condExpr))); + } + flow.inheritNonnullIfTrue(condExpr); + return flow; + } + + /** Remembers the alternative flow if `condExpr` turns out `true`. */ + noteThen(condExpr: ExpressionRef, trueFlow: Flow): void { + let trueFlows = this.trueFlows; + if (!trueFlows) this.trueFlows = trueFlows = new Map(); + trueFlows.set(condExpr, trueFlow); + } + + /** Forks this flow to a child flow where `condExpr` is false-ish. */ + forkElse( + /** Condition that turned out to be false. */ + condExpr: ExpressionRef + ): Flow { + let flow = this.fork(); + let falseFlows = this.falseFlows; + if (falseFlows && falseFlows.has(condExpr)) { + flow.inherit(changetype(falseFlows.get(condExpr))); + } + flow.inheritNonnullIfFalse(condExpr); + return flow; + } + + /** Remembers the alternative flow if `condExpr` turns out `false`. */ + noteElse(condExpr: ExpressionRef, falseFlow: Flow): void { + let falseFlows = this.falseFlows; + if (!falseFlows) this.falseFlows = falseFlows = new Map(); + falseFlows.set(condExpr, falseFlow); + } + /** Gets a free temporary local of the specified type. */ getTempLocal(type: Type): Local { let local = this.targetFunction.addLocal(type); @@ -582,13 +630,10 @@ export class Flow { this.thisFieldFlags = other.thisFieldFlags; } - /** Inherits flags of a conditional branch joining again with this one, i.e. then without else. */ - inheritBranch(other: Flow, conditionKind: ConditionKind = ConditionKind.Unknown): void { + + /** Merges only the effects of a branch, i.e. when not taken. */ + mergeEffects(other: Flow): void { assert(other.targetFunction == this.targetFunction); - switch (conditionKind) { - case ConditionKind.True: this.inherit(other); // always executes - case ConditionKind.False: return; // never executes - } // Note that flags in `this` flow have already happened. For instance, // a return cannot be undone no matter what'd happen in subsequent branches, @@ -664,8 +709,13 @@ export class Flow { } this.flags = newFlags | (thisFlags & (FlowFlags.UncheckedContext | FlowFlags.CtorParamContext)); + } - // local flags + /** Merges a branch joining again with this flow, i.e. then without else. */ + mergeBranch(other: Flow): void { + this.mergeEffects(other); + + // Local flags matter if the branch is taken let thisLocalFlags = this.localFlags; let numThisLocalFlags = thisLocalFlags.length; let otherLocalFlags = other.localFlags; @@ -686,12 +736,12 @@ export class Flow { // only be set if it has been observed prior to entering the branch. } - /** Inherits mutual flags of two alternate branches becoming this one, i.e. then with else. */ - inheritMutual(left: Flow, right: Flow): void { + /** Inherits two alternate branches to become this flow, i.e. then with else. */ + inheritAlternatives(left: Flow, right: Flow): void { assert(left.targetFunction == right.targetFunction); assert(left.targetFunction == this.targetFunction); - // This differs from the previous method in that no flags are guaranteed - // to happen unless it is the case in both flows. + // Differs from `mergeBranch` in that the alternatives are intersected to + // then become this branch. let leftFlags = left.flags; let rightFlags = right.flags; @@ -892,7 +942,7 @@ export class Flow { } /** Updates local states to reflect that this branch is only taken when `expr` is true-ish. */ - inheritNonnullIfTrue( + private inheritNonnullIfTrue( /** Expression being true. */ expr: ExpressionRef, /** If specified, only set the flag if also nonnull in this flow. */ @@ -1006,7 +1056,7 @@ export class Flow { } /** Updates local states to reflect that this branch is only taken when `expr` is false-ish. */ - inheritNonnullIfFalse( + private inheritNonnullIfFalse( /** Expression being false. */ expr: ExpressionRef, /** If specified, only set the flag if also nonnull in this flow. */ @@ -1096,20 +1146,6 @@ export class Flow { } } - /** Remembers the alternative flow if `expr` is true. */ - noteTrueFlow(expr: ExpressionRef, trueFlow: Flow): void { - let trueFlows = this.trueFlows; - if (!trueFlows) this.trueFlows = trueFlows = new Map(); - trueFlows.set(expr, trueFlow); - } - - /** Gets the alternative flow if `expr` is true, if any. */ - getTrueFlow(expr: ExpressionRef): Flow { - let trueFlows = this.trueFlows; - if (!trueFlows || !trueFlows.has(expr)) return this; - return changetype(trueFlows.get(expr)); - } - /** * Tests if an expression can possibly overflow in the context of this flow. Assumes that the * expression might already have overflown and returns `false` only if the operation neglects diff --git a/std/assembly/staticarray.ts b/std/assembly/staticarray.ts index e21504e72e..874a5d07fa 100644 --- a/std/assembly/staticarray.ts +++ b/std/assembly/staticarray.ts @@ -178,10 +178,11 @@ export class StaticArray { throw new Error(E_INVALIDLENGTH); } let sourceSize = sourceLen << alignof(); - let out!: U; + let out = changetype(this); // FIXME: instanceof needs *some* value if (out instanceof Array) { out = changetype(__newArray(outLen, alignof(), idof>())); + // ^ FIXME: Function returns type U, but can't __newArray(U extends Array) let outStart = changetype>(out).dataStart; let otherStart = changetype>(other).dataStart; let thisStart = changetype(this); @@ -240,11 +241,12 @@ export class StaticArray { let sourceStart = changetype(this) + (start << alignof()); let size = length << alignof(); - let out!: U; + let out = changetype(this); // FIXME: instanceof needs *some* value if (out instanceof Array) { // return Array out = changetype(__newArray(length, alignof(), idof>())); + // ^ FIXME: Function returns type U, but can't __newArray(U extends Array) let outStart = changetype>(out).dataStart; if (isManaged()) { let off: usize = 0; diff --git a/std/assembly/symbol.ts b/std/assembly/symbol.ts index 5469f70043..e1e47262b5 100644 --- a/std/assembly/symbol.ts +++ b/std/assembly/symbol.ts @@ -1,10 +1,10 @@ import { Map } from "./map"; // @ts-ignore: decorator -@lazy let stringToId: Map; +@lazy let stringToId: Map = new Map(); // @ts-ignore: decorator -@lazy let idToString: Map; +@lazy let idToString: Map = new Map(); // @ts-ignore: decorator @lazy let nextId: usize = 12; // Symbol.unscopables + 1 @@ -64,8 +64,7 @@ import { Map } from "./map"; static readonly unscopables: symbol = changetype(11); static for(key: string): symbol { - if (!stringToId) { stringToId = new Map(); idToString = new Map(); } - else if (stringToId.has(key)) return changetype(stringToId.get(key)); + if (stringToId.has(key)) return changetype(stringToId.get(key)); let id = nextId++; if (!id) unreachable(); // out of ids stringToId.set(key, id); @@ -74,7 +73,7 @@ import { Map } from "./map"; } static keyFor(sym: symbol): string | null { - return idToString != null && idToString.has(changetype(sym)) + return idToString.has(changetype(sym)) ? idToString.get(changetype(sym)) : null; } diff --git a/tests/compiler/NonNullable.debug.wat b/tests/compiler/NonNullable.debug.wat index 386396b19f..12caa2001d 100644 --- a/tests/compiler/NonNullable.debug.wat +++ b/tests/compiler/NonNullable.debug.wat @@ -41,7 +41,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -112,8 +111,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/binary.debug.wat b/tests/compiler/binary.debug.wat index 5ded4b0727..b7d6c13c88 100644 --- a/tests/compiler/binary.debug.wat +++ b/tests/compiler/binary.debug.wat @@ -26,7 +26,6 @@ (local $out i32) (local $log i32) (local $4 i32) - (local $5 i32) i32.const 1 local.set $out i32.const 0 @@ -217,8 +216,6 @@ end loop $while-continue|1 local.get $e - local.set $5 - local.get $5 if local.get $e i32.const 1 @@ -1269,7 +1266,6 @@ (local $uy1 i32) (local $m f32) (local $ux1 i32) - (local $10 i32) (local $shift i32) local.get $y f32.abs @@ -1417,8 +1413,6 @@ local.get $ex local.get $ey i32.gt_s - local.set $10 - local.get $10 if local.get $ux local.get $uy @@ -2157,7 +2151,6 @@ (local $uy1 i64) (local $m f64) (local $ux1 i64) - (local $10 i32) (local $shift i64) local.get $y f64.abs @@ -2309,8 +2302,6 @@ local.get $ex local.get $ey i64.gt_s - local.set $10 - local.get $10 if local.get $ux local.get $uy diff --git a/tests/compiler/bindings/esm.debug.wat b/tests/compiler/bindings/esm.debug.wat index a4d07ee15c..9f30601279 100644 --- a/tests/compiler/bindings/esm.debug.wat +++ b/tests/compiler/bindings/esm.debug.wat @@ -188,7 +188,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -200,8 +199,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -448,15 +445,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1503,8 +1497,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1549,8 +1541,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1600,8 +1590,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -3003,8 +2991,6 @@ end ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -3015,8 +3001,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -3030,8 +3014,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop @@ -3206,7 +3188,6 @@ (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -3224,8 +3205,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 diff --git a/tests/compiler/bindings/noExportRuntime.debug.wat b/tests/compiler/bindings/noExportRuntime.debug.wat index b94398758a..a57e87360a 100644 --- a/tests/compiler/bindings/noExportRuntime.debug.wat +++ b/tests/compiler/bindings/noExportRuntime.debug.wat @@ -110,7 +110,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -122,8 +121,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -370,15 +367,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1425,8 +1419,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1471,8 +1463,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1522,8 +1512,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2467,7 +2455,6 @@ (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -2485,8 +2472,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 diff --git a/tests/compiler/bindings/raw.debug.wat b/tests/compiler/bindings/raw.debug.wat index 063c75c7d1..d64cfbe4a0 100644 --- a/tests/compiler/bindings/raw.debug.wat +++ b/tests/compiler/bindings/raw.debug.wat @@ -191,7 +191,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -203,8 +202,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -451,15 +448,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1506,8 +1500,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1552,8 +1544,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1603,8 +1593,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -3006,8 +2994,6 @@ end ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -3018,8 +3004,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -3033,8 +3017,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop @@ -3209,7 +3191,6 @@ (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -3227,8 +3208,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 diff --git a/tests/compiler/builtins.debug.wat b/tests/compiler/builtins.debug.wat index 9986eafa4e..1d3c1fbca6 100644 --- a/tests/compiler/builtins.debug.wat +++ b/tests/compiler/builtins.debug.wat @@ -121,7 +121,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -192,8 +191,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/call-super.debug.wat b/tests/compiler/call-super.debug.wat index c66a1f3995..cb18741e64 100644 --- a/tests/compiler/call-super.debug.wat +++ b/tests/compiler/call-super.debug.wat @@ -86,7 +86,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -98,8 +97,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -346,15 +343,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1401,8 +1395,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1447,8 +1439,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1498,8 +1488,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/class-implements.debug.wat b/tests/compiler/class-implements.debug.wat index 517c88e895..290eb1ccb3 100644 --- a/tests/compiler/class-implements.debug.wat +++ b/tests/compiler/class-implements.debug.wat @@ -89,7 +89,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -101,8 +100,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -349,15 +346,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1404,8 +1398,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1450,8 +1442,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1501,8 +1491,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/class-overloading-cast.debug.wat b/tests/compiler/class-overloading-cast.debug.wat index 457f08e59a..e23e9a82e3 100644 --- a/tests/compiler/class-overloading-cast.debug.wat +++ b/tests/compiler/class-overloading-cast.debug.wat @@ -95,7 +95,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -107,8 +106,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -355,15 +352,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1410,8 +1404,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1456,8 +1448,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1507,8 +1497,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2225,7 +2213,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2296,8 +2283,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/class-overloading.debug.wat b/tests/compiler/class-overloading.debug.wat index 5b29650d57..cd64ee890b 100644 --- a/tests/compiler/class-overloading.debug.wat +++ b/tests/compiler/class-overloading.debug.wat @@ -99,7 +99,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -111,8 +110,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -359,15 +356,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1414,8 +1408,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1460,8 +1452,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1511,8 +1501,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2230,7 +2218,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2301,8 +2288,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/class.debug.wat b/tests/compiler/class.debug.wat index 316dd550b4..e1e8b913e3 100644 --- a/tests/compiler/class.debug.wat +++ b/tests/compiler/class.debug.wat @@ -207,7 +207,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -219,8 +218,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -467,15 +464,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1522,8 +1516,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1568,8 +1560,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1619,8 +1609,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/constructor.debug.wat b/tests/compiler/constructor.debug.wat index 4ee568cdc2..d45bedcddd 100644 --- a/tests/compiler/constructor.debug.wat +++ b/tests/compiler/constructor.debug.wat @@ -94,7 +94,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -106,8 +105,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -354,15 +351,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1409,8 +1403,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1455,8 +1447,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1506,8 +1496,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/do.debug.wat b/tests/compiler/do.debug.wat index 2b691d9145..6047eee469 100644 --- a/tests/compiler/do.debug.wat +++ b/tests/compiler/do.debug.wat @@ -266,8 +266,7 @@ return end i32.const 1 - drop - br $do-loop|0 + br_if $do-loop|0 end unreachable ) @@ -281,7 +280,7 @@ i32.add local.set $i i32.const 0 - drop + br_if $do-loop|0 end local.get $i i32.const 1 @@ -491,7 +490,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -503,8 +501,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -751,15 +747,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1806,8 +1799,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1852,8 +1843,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1903,8 +1892,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2740,8 +2727,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2752,8 +2737,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2767,8 +2750,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/duplicate-fields.debug.wat b/tests/compiler/duplicate-fields.debug.wat index 64cf6a7d1b..44a6db464e 100644 --- a/tests/compiler/duplicate-fields.debug.wat +++ b/tests/compiler/duplicate-fields.debug.wat @@ -89,7 +89,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -101,8 +100,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -349,15 +346,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1404,8 +1398,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1450,8 +1442,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1501,8 +1491,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/empty-exportruntime.debug.wat b/tests/compiler/empty-exportruntime.debug.wat index 4a46a4e8fd..b908c8b6ac 100644 --- a/tests/compiler/empty-exportruntime.debug.wat +++ b/tests/compiler/empty-exportruntime.debug.wat @@ -88,7 +88,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -100,8 +99,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -348,15 +345,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1403,8 +1397,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1449,8 +1441,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1500,8 +1490,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2267,8 +2255,6 @@ end ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2279,8 +2265,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2294,8 +2278,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/empty-new.debug.wat b/tests/compiler/empty-new.debug.wat index 28a68b98f5..99598253a7 100644 --- a/tests/compiler/empty-new.debug.wat +++ b/tests/compiler/empty-new.debug.wat @@ -81,7 +81,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -93,8 +92,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -341,15 +338,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1396,8 +1390,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1442,8 +1434,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1493,8 +1483,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/exportstar-rereexport.debug.wat b/tests/compiler/exportstar-rereexport.debug.wat index 6e6a5ee404..8899871c58 100644 --- a/tests/compiler/exportstar-rereexport.debug.wat +++ b/tests/compiler/exportstar-rereexport.debug.wat @@ -118,7 +118,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -130,8 +129,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -378,15 +375,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1433,8 +1427,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1479,8 +1471,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1530,8 +1520,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/extends-baseaggregate.debug.wat b/tests/compiler/extends-baseaggregate.debug.wat index dd7f256cc2..c777e9ceae 100644 --- a/tests/compiler/extends-baseaggregate.debug.wat +++ b/tests/compiler/extends-baseaggregate.debug.wat @@ -91,7 +91,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -103,8 +102,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -351,15 +348,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1406,8 +1400,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1452,8 +1444,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1503,8 +1493,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2594,7 +2582,6 @@ (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -2612,8 +2599,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -2651,7 +2636,6 @@ (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -2669,8 +2653,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 diff --git a/tests/compiler/extends-recursive.debug.wat b/tests/compiler/extends-recursive.debug.wat index cc640666cb..d5ff349024 100644 --- a/tests/compiler/extends-recursive.debug.wat +++ b/tests/compiler/extends-recursive.debug.wat @@ -81,7 +81,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -93,8 +92,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -341,15 +338,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1396,8 +1390,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1442,8 +1434,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1493,8 +1483,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/features/reference-types.debug.wat b/tests/compiler/features/reference-types.debug.wat index 356eab9595..da1f7e3a34 100644 --- a/tests/compiler/features/reference-types.debug.wat +++ b/tests/compiler/features/reference-types.debug.wat @@ -38,6 +38,8 @@ (func $features/reference-types/testLocal (type $none_=>_none) (local $local funcref) (local $localInit funcref) + ref.null nofunc + local.set $local local.get $local ref.is_null i32.eqz @@ -85,6 +87,8 @@ (func $features/reference-types/testLocal (type $none_=>_none) (local $local externref) (local $localInit externref) + ref.null noextern + local.set $local local.get $local ref.is_null i32.eqz diff --git a/tests/compiler/features/reference-types.ts b/tests/compiler/features/reference-types.ts index 0588399629..816c844c4d 100644 --- a/tests/compiler/features/reference-types.ts +++ b/tests/compiler/features/reference-types.ts @@ -66,7 +66,7 @@ var anyGlobalInit: externref = null; assert(!anyGlobalInit); function testLocal(): void { - let local: T; + let local: T = null; assert(!local); local = null; assert(!local); diff --git a/tests/compiler/field-initialization.debug.wat b/tests/compiler/field-initialization.debug.wat index 14f9c05be7..513158443c 100644 --- a/tests/compiler/field-initialization.debug.wat +++ b/tests/compiler/field-initialization.debug.wat @@ -92,7 +92,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -104,8 +103,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -352,15 +349,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1407,8 +1401,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1453,8 +1445,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1504,8 +1494,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2484,7 +2472,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2555,8 +2542,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/field.debug.wat b/tests/compiler/field.debug.wat index 74f7e81c63..89583d6234 100644 --- a/tests/compiler/field.debug.wat +++ b/tests/compiler/field.debug.wat @@ -83,7 +83,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -95,8 +94,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -343,15 +340,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1398,8 +1392,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1444,8 +1436,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1495,8 +1485,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2312,8 +2300,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2324,8 +2310,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2339,8 +2323,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop @@ -2439,7 +2421,6 @@ (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -2457,8 +2438,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 diff --git a/tests/compiler/for.debug.wat b/tests/compiler/for.debug.wat index ed260127e2..65466e0a19 100644 --- a/tests/compiler/for.debug.wat +++ b/tests/compiler/for.debug.wat @@ -508,7 +508,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -520,8 +519,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -768,15 +765,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1823,8 +1817,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1869,8 +1861,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1920,8 +1910,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2638,7 +2626,7 @@ call $for/Ref#constructor local.tee $ref i32.store $0 - loop $for-loop|0 + loop $for-loop|1 local.get $ref local.set $2 local.get $2 @@ -2659,7 +2647,7 @@ local.tee $ref i32.store $0 end - br $for-loop|0 + br $for-loop|1 end end local.get $i @@ -2775,8 +2763,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2787,8 +2773,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2802,8 +2786,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/for.release.wat b/tests/compiler/for.release.wat index 6c4b3d18a0..92d9b55f6c 100644 --- a/tests/compiler/for.release.wat +++ b/tests/compiler/for.release.wat @@ -1517,7 +1517,7 @@ call $for/Ref#constructor local.tee $0 i32.store $0 - loop $for-loop|08 + loop $for-loop|17 local.get $0 if local.get $1 @@ -1535,7 +1535,7 @@ local.tee $0 i32.store $0 end - br $for-loop|08 + br $for-loop|17 end end local.get $1 @@ -1583,10 +1583,10 @@ call $for/Ref#constructor local.tee $0 i32.store $0 - loop $for-loop|012 + loop $for-loop|011 call $for/Ref#constructor if - block $for-break011 + block $for-break010 local.get $1 i32.const 1 i32.add @@ -1596,13 +1596,13 @@ if i32.const 0 local.set $0 - br $for-break011 + br $for-break010 end global.get $~lib/memory/__stack_pointer call $for/Ref#constructor local.tee $0 i32.store $0 - br $for-loop|012 + br $for-loop|011 end end end diff --git a/tests/compiler/function-call.debug.wat b/tests/compiler/function-call.debug.wat index ea36c95707..ee36dc3e86 100644 --- a/tests/compiler/function-call.debug.wat +++ b/tests/compiler/function-call.debug.wat @@ -116,7 +116,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -128,8 +127,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -376,15 +373,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1431,8 +1425,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1477,8 +1469,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1528,8 +1518,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/function-expression.debug.wat b/tests/compiler/function-expression.debug.wat index e27b3eb3a0..c8cecb1042 100644 --- a/tests/compiler/function-expression.debug.wat +++ b/tests/compiler/function-expression.debug.wat @@ -14,7 +14,7 @@ (global $function-expression/f2 (mut i32) (i32.const 128)) (global $function-expression/f3 (mut i32) (i32.const 160)) (global $function-expression/f4 (mut i32) (i32.const 192)) - (global $function-expression/globalFunc (mut i32) (i32.const 0)) + (global $function-expression/globalFunc (mut i32) (i32.const 480)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) @@ -64,7 +64,7 @@ (data (i32.const 1052) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 1088) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 20 20 funcref) - (elem $0 (i32.const 1) $start:function-expression~anonymous|0 $start:function-expression~anonymous|1 $start:function-expression~someName|2 $start:function-expression~anonymous|3 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $start:function-expression~anonymous|6 $function-expression/testOmittedReturn1~anonymous|0 $function-expression/testOmittedReturn2~anonymous|0 $function-expression/testOmittedReturn3~anonymous|0 $function-expression/testNullable~anonymous|0 $function-expression/testGlobal~anonymous|0~anonymous|0 $function-expression/testGlobal~anonymous|0 $function-expression/testLocal~anonymous|0~anonymous|0 $function-expression/testLocal~anonymous|0 $function-expression/testField~anonymous|0~anonymous|0 $function-expression/testField~anonymous|0 $function-expression/semanticallyAnonymous~fnDecl $function-expression/semanticallyAnonymous~fnDecl|0) + (elem $0 (i32.const 1) $start:function-expression~anonymous|0 $start:function-expression~anonymous|1 $start:function-expression~someName|2 $start:function-expression~anonymous|3 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $start:function-expression~anonymous|6 $function-expression/testOmittedReturn1~anonymous|0 $function-expression/testOmittedReturn2~anonymous|0 $function-expression/testOmittedReturn3~anonymous|0 $function-expression/testNullable~anonymous|0 $start:function-expression~anonymous|7~anonymous|0 $start:function-expression~anonymous|7 $function-expression/testLocal~anonymous|0~anonymous|0 $function-expression/testLocal~anonymous|0 $function-expression/testField~anonymous|0~anonymous|0 $function-expression/testField~anonymous|0 $function-expression/semanticallyAnonymous~fnDecl $function-expression/semanticallyAnonymous~fnDecl|0) (export "semanticallyAnonymous" (func $function-expression/semanticallyAnonymous)) (export "memory" (memory $0)) (start $~start) @@ -134,7 +134,7 @@ end unreachable ) - (func $function-expression/testGlobal~anonymous|0~anonymous|0 (type $i32_=>_i32) (param $x i32) (result i32) + (func $start:function-expression~anonymous|7~anonymous|0 (type $i32_=>_i32) (param $x i32) (result i32) i32.const 24 local.get $x i32.add @@ -149,8 +149,6 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - i32.const 480 - global.set $function-expression/globalFunc i32.const 1 global.get $~lib/memory/__stack_pointer i32.const 0 @@ -171,7 +169,7 @@ if i32.const 0 i32.const 64 - i32.const 57 + i32.const 56 i32.const 3 call $~lib/builtins/abort unreachable @@ -221,7 +219,7 @@ if i32.const 0 i32.const 64 - i32.const 68 + i32.const 67 i32.const 3 call $~lib/builtins/abort unreachable @@ -271,7 +269,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -283,8 +280,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -531,15 +526,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1586,8 +1578,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1632,8 +1622,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1683,8 +1671,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2497,7 +2483,7 @@ if i32.const 0 i32.const 64 - i32.const 93 + i32.const 92 i32.const 3 call $~lib/builtins/abort unreachable @@ -2761,7 +2747,7 @@ if i32.const 0 i32.const 64 - i32.const 82 + i32.const 81 i32.const 3 call $~lib/builtins/abort unreachable @@ -2983,7 +2969,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $function-expression/testGlobal~anonymous|0 (type $none_=>_i32) (result i32) + (func $start:function-expression~anonymous|7 (type $none_=>_i32) (result i32) (local $myFunc i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/function-expression.release.wat b/tests/compiler/function-expression.release.wat index b421059266..05b9de95b5 100644 --- a/tests/compiler/function-expression.release.wat +++ b/tests/compiler/function-expression.release.wat @@ -72,7 +72,7 @@ (data (i32.const 2088) "\04\00\00\00\08\00\00\00\13") (data (i32.const 2112) "\n\00\00\00 \00\00\00 \00\00\00 ") (table $0 20 20 funcref) - (elem $0 (i32.const 1) $start:function-expression~anonymous|0 $start:function-expression~anonymous|0 $start:function-expression~someName|2 $start:function-expression~anonymous|3 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $start:function-expression~anonymous|6 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $start:function-expression~anonymous|6 $start:function-expression~anonymous|3 $function-expression/testGlobal~anonymous|0~anonymous|0 $function-expression/testGlobal~anonymous|0 $function-expression/testGlobal~anonymous|0~anonymous|0 $function-expression/testLocal~anonymous|0 $function-expression/testGlobal~anonymous|0~anonymous|0 $function-expression/testField~anonymous|0 $start:function-expression~anonymous|0 $start:function-expression~anonymous|0) + (elem $0 (i32.const 1) $start:function-expression~anonymous|0 $start:function-expression~anonymous|0 $start:function-expression~someName|2 $start:function-expression~anonymous|3 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $start:function-expression~anonymous|6 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $start:function-expression~anonymous|6 $start:function-expression~anonymous|3 $start:function-expression~anonymous|7~anonymous|0 $start:function-expression~anonymous|7 $start:function-expression~anonymous|7~anonymous|0 $function-expression/testLocal~anonymous|0 $start:function-expression~anonymous|7~anonymous|0 $function-expression/testField~anonymous|0 $start:function-expression~anonymous|0 $start:function-expression~anonymous|0) (export "semanticallyAnonymous" (func $function-expression/semanticallyAnonymous)) (export "memory" (memory $0)) (start $~start) @@ -94,7 +94,7 @@ (func $start:function-expression~anonymous|6 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) i32.const 42 ) - (func $function-expression/testGlobal~anonymous|0~anonymous|0 (type $i32_=>_i32) (param $0 i32) (result i32) + (func $start:function-expression~anonymous|7~anonymous|0 (type $i32_=>_i32) (param $0 i32) (result i32) local.get $0 i32.const 24 i32.add @@ -1678,7 +1678,7 @@ if i32.const 0 i32.const 1088 - i32.const 57 + i32.const 56 i32.const 3 call $~lib/builtins/abort unreachable @@ -1717,7 +1717,7 @@ if i32.const 0 i32.const 1088 - i32.const 68 + i32.const 67 i32.const 3 call $~lib/builtins/abort unreachable @@ -1862,7 +1862,7 @@ if i32.const 0 i32.const 1088 - i32.const 82 + i32.const 81 i32.const 3 call $~lib/builtins/abort unreachable @@ -1885,7 +1885,7 @@ call $~lib/builtins/abort unreachable ) - (func $function-expression/testGlobal~anonymous|0 (type $none_=>_i32) (result i32) + (func $start:function-expression~anonymous|7 (type $none_=>_i32) (result i32) (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/function-expression.ts b/tests/compiler/function-expression.ts index 18b4b2ef45..2b5861ab04 100644 --- a/tests/compiler/function-expression.ts +++ b/tests/compiler/function-expression.ts @@ -46,14 +46,13 @@ assert(testNullable(false) == null); // see: https://github.com/AssemblyScript/assemblyscript/issues/1289 -var globalFunc: () => (x: i32) => i32; -function testGlobal(): void { - globalFunc = (): (x:i32) => i32 => { - let myFunc = (x: i32): i32 => { - return 24 + x; - }; - return myFunc; +var globalFunc: () => (x: i32) => i32 = (): (x:i32) => i32 => { + let myFunc = (x: i32): i32 => { + return 24 + x; }; + return myFunc; +}; +function testGlobal(): void { assert(globalFunc()(1) == 25); } testGlobal(); diff --git a/tests/compiler/getter-call.debug.wat b/tests/compiler/getter-call.debug.wat index a4ec24df70..fd9b1cc1b0 100644 --- a/tests/compiler/getter-call.debug.wat +++ b/tests/compiler/getter-call.debug.wat @@ -84,7 +84,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -96,8 +95,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -344,15 +341,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1399,8 +1393,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1445,8 +1437,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1496,8 +1486,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/infer-array.debug.wat b/tests/compiler/infer-array.debug.wat index 0ab00fcece..a4199c6275 100644 --- a/tests/compiler/infer-array.debug.wat +++ b/tests/compiler/infer-array.debug.wat @@ -100,7 +100,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -112,8 +111,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -360,15 +357,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1415,8 +1409,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1461,8 +1453,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1512,8 +1502,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -3239,7 +3227,6 @@ (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -3257,8 +3244,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -3296,7 +3281,6 @@ (func $~lib/array/Array<~lib/string/String|null>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -3314,8 +3298,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -3373,7 +3355,6 @@ (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -3391,8 +3372,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 diff --git a/tests/compiler/infer-generic.debug.wat b/tests/compiler/infer-generic.debug.wat index f2a824c9da..448c3fded6 100644 --- a/tests/compiler/infer-generic.debug.wat +++ b/tests/compiler/infer-generic.debug.wat @@ -181,7 +181,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -193,8 +192,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -441,15 +438,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1496,8 +1490,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1542,8 +1534,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1593,8 +1583,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/inlining.debug.wat b/tests/compiler/inlining.debug.wat index f54b0d522f..a6a1678a73 100644 --- a/tests/compiler/inlining.debug.wat +++ b/tests/compiler/inlining.debug.wat @@ -316,7 +316,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -328,8 +327,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -576,15 +573,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1631,8 +1625,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1677,8 +1669,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1728,8 +1718,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/instanceof.debug.wat b/tests/compiler/instanceof.debug.wat index 2eefc73e11..09f4810a99 100644 --- a/tests/compiler/instanceof.debug.wat +++ b/tests/compiler/instanceof.debug.wat @@ -6,17 +6,10 @@ (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) - (type $f64_=>_i32 (func_subtype (param f64) (result i32) func)) (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) + (type $f64_=>_i32 (func_subtype (param f64) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (global $instanceof/a (mut i32) (i32.const 0)) - (global $instanceof/b (mut i32) (i32.const 0)) - (global $instanceof/i (mut i32) (i32.const 0)) - (global $instanceof/I (mut i64) (i64.const 0)) - (global $instanceof/f (mut f32) (f32.const 0)) - (global $instanceof/F (mut f64) (f64.const 0)) - (global $instanceof/an (mut i32) (i32.const 0)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) @@ -31,6 +24,13 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $instanceof/a (mut i32) (i32.const 0)) + (global $instanceof/b (mut i32) (i32.const 0)) + (global $instanceof/i (mut i32) (i32.const 0)) + (global $instanceof/I (mut i64) (i64.const 0)) + (global $instanceof/f (mut f32) (f32.const 0)) + (global $instanceof/F (mut f64) (f64.const 0)) + (global $instanceof/an (mut i32) (i32.const 0)) (global $instanceof/child (mut i32) (i32.const 0)) (global $instanceof/childAsParent (mut i32) (i32.const 0)) (global $instanceof/animal (mut i32) (i32.const 0)) @@ -47,44 +47,20 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33292)) (global $~lib/memory/__heap_base i32 (i32.const 33292)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s\00\00\00") (data (i32.const 464) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) - (func $instanceof/isI32 (type $i32_=>_i32) (param $v i32) (result i32) - i32.const 1 - drop - i32.const 1 - return - ) - (func $instanceof/isI32 (type $f64_=>_i32) (param $v f64) (result i32) - i32.const 0 - drop - i32.const 0 - return - ) - (func $instanceof/isI32 (type $i32_=>_i32) (param $v i32) (result i32) - i32.const 0 - drop - i32.const 0 - return - ) - (func $instanceof/isI32 (type $i32_=>_i32) (param $v i32) (result i32) - i32.const 0 - drop - i32.const 0 - return - ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor @@ -125,7 +101,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -137,8 +112,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -149,7 +122,7 @@ i32.eqz if i32.const 0 - i32.const 144 + i32.const 96 i32.const 160 i32.const 16 call $~lib/builtins/abort @@ -219,7 +192,7 @@ i32.eqz if i32.const 0 - i32.const 144 + i32.const 96 i32.const 128 i32.const 18 call $~lib/builtins/abort @@ -236,7 +209,7 @@ i32.eqz if i32.const 0 - i32.const 144 + i32.const 96 i32.const 132 i32.const 16 call $~lib/builtins/abort @@ -266,8 +239,8 @@ i32.load $0 i32.gt_u if - i32.const 272 - i32.const 336 + i32.const 224 + i32.const 288 i32.const 21 i32.const 28 call $~lib/builtins/abort @@ -333,7 +306,7 @@ i32.eqz if (result i32) i32.const 0 - i32.const 144 + i32.const 96 i32.const 148 i32.const 30 call $~lib/builtins/abort @@ -385,15 +358,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -487,7 +457,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 268 i32.const 14 call $~lib/builtins/abort @@ -507,7 +477,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 270 i32.const 14 call $~lib/builtins/abort @@ -570,7 +540,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 284 i32.const 14 call $~lib/builtins/abort @@ -717,7 +687,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 201 i32.const 14 call $~lib/builtins/abort @@ -734,7 +704,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 203 i32.const 14 call $~lib/builtins/abort @@ -814,7 +784,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 221 i32.const 16 call $~lib/builtins/abort @@ -857,7 +827,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 233 i32.const 14 call $~lib/builtins/abort @@ -875,7 +845,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 234 i32.const 14 call $~lib/builtins/abort @@ -943,7 +913,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 251 i32.const 14 call $~lib/builtins/abort @@ -1049,7 +1019,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 377 i32.const 14 call $~lib/builtins/abort @@ -1092,7 +1062,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 384 i32.const 16 call $~lib/builtins/abort @@ -1125,7 +1095,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 397 i32.const 5 call $~lib/builtins/abort @@ -1373,7 +1343,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 559 i32.const 3 call $~lib/builtins/abort @@ -1440,8 +1410,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1486,8 +1454,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1537,8 +1503,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -1598,7 +1562,7 @@ i32.eqz if i32.const 0 - i32.const 144 + i32.const 96 i32.const 229 i32.const 20 call $~lib/builtins/abort @@ -1704,8 +1668,8 @@ i32.const 1073741820 i32.gt_u if - i32.const 80 - i32.const 416 + i32.const 32 + i32.const 368 i32.const 458 i32.const 29 call $~lib/builtins/abort @@ -1797,7 +1761,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 330 i32.const 14 call $~lib/builtins/abort @@ -1862,7 +1826,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 343 i32.const 18 call $~lib/builtins/abort @@ -2016,7 +1980,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 357 i32.const 14 call $~lib/builtins/abort @@ -2125,7 +2089,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 496 i32.const 16 call $~lib/builtins/abort @@ -2145,7 +2109,7 @@ i32.eqz if i32.const 0 - i32.const 416 + i32.const 368 i32.const 498 i32.const 14 call $~lib/builtins/abort @@ -2191,8 +2155,8 @@ i32.const 1073741804 i32.ge_u if - i32.const 80 - i32.const 144 + i32.const 32 + i32.const 96 i32.const 261 i32.const 31 call $~lib/builtins/abort @@ -2236,6 +2200,30 @@ memory.fill $0 local.get $ptr ) + (func $instanceof/isI32 (type $i32_=>_i32) (param $v i32) (result i32) + i32.const 1 + drop + i32.const 1 + return + ) + (func $instanceof/isI32 (type $f64_=>_i32) (param $v f64) (result i32) + i32.const 0 + drop + i32.const 0 + return + ) + (func $instanceof/isI32 (type $i32_=>_i32) (param $v i32) (result i32) + i32.const 0 + drop + i32.const 0 + return + ) + (func $instanceof/isI32 (type $i32_=>_i32) (param $v i32) (result i32) + i32.const 0 + drop + i32.const 0 + return + ) (func $start:instanceof (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -2267,6 +2255,29 @@ i32.const 0 i32.const 84 memory.fill $0 + memory.size $0 + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 144 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 176 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 320 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + i32.const 0 + call $instanceof/A#constructor + global.set $instanceof/a + i32.const 0 + call $instanceof/B#constructor + global.set $instanceof/b i32.const 1 drop i32.const 1 @@ -2299,7 +2310,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 18 i32.const 1 call $~lib/builtins/abort @@ -2392,7 +2403,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 62 i32.const 1 call $~lib/builtins/abort @@ -2404,7 +2415,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 63 i32.const 1 call $~lib/builtins/abort @@ -2416,7 +2427,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 64 i32.const 1 call $~lib/builtins/abort @@ -2428,7 +2439,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 65 i32.const 1 call $~lib/builtins/abort @@ -2441,7 +2452,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 68 i32.const 1 call $~lib/builtins/abort @@ -2457,7 +2468,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 71 i32.const 1 call $~lib/builtins/abort @@ -2465,23 +2476,6 @@ end i32.const 1 drop - memory.size $0 - i32.const 16 - i32.shl - global.get $~lib/memory/__heap_base - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 192 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 224 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 368 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace i32.const 0 call $instanceof/Child#constructor global.set $instanceof/child @@ -2530,7 +2524,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 94 i32.const 1 call $~lib/builtins/abort @@ -2554,7 +2548,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 96 i32.const 1 call $~lib/builtins/abort @@ -2593,7 +2587,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 111 i32.const 1 call $~lib/builtins/abort @@ -2615,7 +2609,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 112 i32.const 1 call $~lib/builtins/abort @@ -2638,7 +2632,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 115 i32.const 1 call $~lib/builtins/abort @@ -2660,7 +2654,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 116 i32.const 1 call $~lib/builtins/abort @@ -2683,7 +2677,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 119 i32.const 1 call $~lib/builtins/abort @@ -2704,7 +2698,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 120 i32.const 1 call $~lib/builtins/abort @@ -2725,7 +2719,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 126 i32.const 1 call $~lib/builtins/abort @@ -2747,7 +2741,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 127 i32.const 1 call $~lib/builtins/abort @@ -2769,7 +2763,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 128 i32.const 1 call $~lib/builtins/abort @@ -2781,7 +2775,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 130 i32.const 1 call $~lib/builtins/abort @@ -2802,7 +2796,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 131 i32.const 1 call $~lib/builtins/abort @@ -2824,7 +2818,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 132 i32.const 1 call $~lib/builtins/abort @@ -2836,7 +2830,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 134 i32.const 1 call $~lib/builtins/abort @@ -2857,7 +2851,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 135 i32.const 1 call $~lib/builtins/abort @@ -2878,7 +2872,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 136 i32.const 1 call $~lib/builtins/abort @@ -2891,7 +2885,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 142 i32.const 1 call $~lib/builtins/abort @@ -2913,7 +2907,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 143 i32.const 1 call $~lib/builtins/abort @@ -2935,7 +2929,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 144 i32.const 1 call $~lib/builtins/abort @@ -2948,7 +2942,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 146 i32.const 1 call $~lib/builtins/abort @@ -2970,7 +2964,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 147 i32.const 1 call $~lib/builtins/abort @@ -2992,7 +2986,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 148 i32.const 1 call $~lib/builtins/abort @@ -3005,7 +2999,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 150 i32.const 1 call $~lib/builtins/abort @@ -3027,7 +3021,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 151 i32.const 1 call $~lib/builtins/abort @@ -3049,7 +3043,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 432 i32.const 152 i32.const 1 call $~lib/builtins/abort @@ -3253,10 +3247,10 @@ local.get $0 call $~lib/rt/itcms/__visit end - i32.const 272 + i32.const 224 local.get $0 call $~lib/rt/itcms/__visit - i32.const 80 + i32.const 32 local.get $0 call $~lib/rt/itcms/__visit ) @@ -3376,6 +3370,72 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $instanceof/A#constructor (type $i32_=>_i32) (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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + 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 $instanceof/B#constructor (type $i32_=>_i32) (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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + call $instanceof/A#constructor + local.tee $this + i32.store $0 + 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 $instanceof/Parent#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/instanceof.release.wat b/tests/compiler/instanceof.release.wat index f6b042ae30..98e9a4cab5 100644 --- a/tests/compiler/instanceof.release.wat +++ b/tests/compiler/instanceof.release.wat @@ -7,7 +7,6 @@ (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (global $instanceof/an (mut i32) (i32.const 0)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) @@ -18,6 +17,9 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $instanceof/a (mut i32) (i32.const 0)) + (global $instanceof/b (mut i32) (i32.const 0)) + (global $instanceof/an (mut i32) (i32.const 0)) (global $instanceof/child (mut i32) (i32.const 0)) (global $instanceof/childAsParent (mut i32) (i32.const 0)) (global $instanceof/animal (mut i32) (i32.const 0)) @@ -28,24 +30,36 @@ (global $instanceof/nullableBlackcat (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34316)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s") - (data (i32.const 1084) "<") - (data (i32.const 1096) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") - (data (i32.const 1148) "<") - (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1276) "<") - (data (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") - (data (i32.const 1340) ",") - (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1420) "<") - (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1036) "<") + (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 1100) "<") + (data (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data (i32.const 1228) "<") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1292) ",") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data (i32.const 1372) "<") + (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 1436) ",") + (data (i32.const 1448) "\02\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s") (data (i32.const 1488) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) (local $0 i32) (local $1 i32) + global.get $instanceof/a + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $instanceof/b + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end global.get $instanceof/an local.tee $0 if @@ -100,9 +114,9 @@ local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__visit end - i32.const 1296 + i32.const 1248 call $byn-split-outlined-A$~lib/rt/itcms/__visit - i32.const 1104 + i32.const 1056 call $byn-split-outlined-A$~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 @@ -123,7 +137,7 @@ i32.ne if i32.const 0 - i32.const 1168 + i32.const 1120 i32.const 160 i32.const 16 call $~lib/builtins/abort @@ -155,7 +169,7 @@ i32.eqz if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 268 i32.const 14 call $~lib/builtins/abort @@ -169,7 +183,7 @@ i32.lt_u if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 270 i32.const 14 call $~lib/builtins/abort @@ -215,7 +229,7 @@ i32.eqz if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 284 i32.const 14 call $~lib/builtins/abort @@ -305,7 +319,7 @@ i32.eqz if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 201 i32.const 14 call $~lib/builtins/abort @@ -319,7 +333,7 @@ i32.eqz if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 203 i32.const 14 call $~lib/builtins/abort @@ -380,7 +394,7 @@ i32.eqz if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 221 i32.const 16 call $~lib/builtins/abort @@ -413,7 +427,7 @@ i32.lt_u if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 233 i32.const 14 call $~lib/builtins/abort @@ -428,7 +442,7 @@ i32.ne if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 234 i32.const 14 call $~lib/builtins/abort @@ -479,7 +493,7 @@ i32.eqz if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 251 i32.const 14 call $~lib/builtins/abort @@ -549,7 +563,7 @@ i32.gt_u if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 377 i32.const 14 call $~lib/builtins/abort @@ -574,7 +588,7 @@ i32.gt_u if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 384 i32.const 16 call $~lib/builtins/abort @@ -602,7 +616,7 @@ i32.gt_u if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 397 i32.const 5 call $~lib/builtins/abort @@ -907,7 +921,7 @@ i32.ne if i32.const 0 - i32.const 1168 + i32.const 1120 i32.const 229 i32.const 20 call $~lib/builtins/abort @@ -967,7 +981,7 @@ end if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 559 i32.const 3 call $~lib/builtins/abort @@ -1034,7 +1048,7 @@ i32.eqz if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 343 i32.const 18 call $~lib/builtins/abort @@ -1166,7 +1180,7 @@ i32.eqz if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 496 i32.const 16 call $~lib/builtins/abort @@ -1181,7 +1195,7 @@ i32.lt_u if i32.const 0 - i32.const 1440 + i32.const 1392 i32.const 498 i32.const 14 call $~lib/builtins/abort @@ -1302,24 +1316,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 i32.const 84 memory.fill $0 - local.get $0 - i32.const 0 - i32.store $0 - global.get $instanceof/an - if - i32.const 0 - i32.const 1056 - i32.const 68 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $instanceof/an memory.size $0 i32.const 16 i32.shl @@ -1328,30 +1327,95 @@ i32.const 1 i32.shr_u global.set $~lib/rt/itcms/threshold - i32.const 1220 - i32.const 1216 + i32.const 1172 + i32.const 1168 i32.store $0 - i32.const 1224 - i32.const 1216 + i32.const 1176 + i32.const 1168 i32.store $0 - i32.const 1216 + i32.const 1168 global.set $~lib/rt/itcms/pinSpace - i32.const 1252 - i32.const 1248 + i32.const 1204 + i32.const 1200 i32.store $0 - i32.const 1256 - i32.const 1248 + i32.const 1208 + i32.const 1200 i32.store $0 - i32.const 1248 + i32.const 1200 global.set $~lib/rt/itcms/toSpace - i32.const 1396 - i32.const 1392 + i32.const 1348 + i32.const 1344 i32.store $0 - i32.const 1400 - i32.const 1392 + i32.const 1352 + i32.const 1344 i32.store $0 - i32.const 1392 + i32.const 1344 global.set $~lib/rt/itcms/fromSpace + i32.const 0 + call $instanceof/A#constructor + global.set $instanceof/a + 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 1548 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $instanceof/A#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $instanceof/b + global.get $~lib/memory/__stack_pointer + global.get $instanceof/a + local.tee $0 + i32.store $0 + local.get $0 + if (result i32) + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + i32.const 5 + i32.eq + else + i32.const 0 + end + if + i32.const 0 + i32.const 1456 + i32.const 18 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $instanceof/an + if + i32.const 0 + i32.const 1456 + i32.const 68 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $instanceof/an global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1482,7 +1546,7 @@ i32.eqz if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 94 i32.const 1 call $~lib/builtins/abort @@ -1519,7 +1583,7 @@ i32.eqz if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 96 i32.const 1 call $~lib/builtins/abort @@ -1563,7 +1627,7 @@ end if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 111 i32.const 1 call $~lib/builtins/abort @@ -1586,7 +1650,7 @@ end if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 112 i32.const 1 call $~lib/builtins/abort @@ -1623,7 +1687,7 @@ i32.eqz if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 115 i32.const 1 call $~lib/builtins/abort @@ -1646,7 +1710,7 @@ end if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 116 i32.const 1 call $~lib/builtins/abort @@ -1683,7 +1747,7 @@ i32.eqz if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 119 i32.const 1 call $~lib/builtins/abort @@ -1707,7 +1771,7 @@ i32.eqz if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 120 i32.const 1 call $~lib/builtins/abort @@ -1725,7 +1789,7 @@ i32.eqz if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 126 i32.const 1 call $~lib/builtins/abort @@ -1761,7 +1825,7 @@ end if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 127 i32.const 1 call $~lib/builtins/abort @@ -1784,7 +1848,7 @@ end if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 128 i32.const 1 call $~lib/builtins/abort @@ -1794,7 +1858,7 @@ i32.eqz if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 130 i32.const 1 call $~lib/builtins/abort @@ -1831,7 +1895,7 @@ i32.eqz if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 131 i32.const 1 call $~lib/builtins/abort @@ -1854,7 +1918,7 @@ end if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 132 i32.const 1 call $~lib/builtins/abort @@ -1864,7 +1928,7 @@ i32.eqz if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 134 i32.const 1 call $~lib/builtins/abort @@ -1901,7 +1965,7 @@ i32.eqz if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 135 i32.const 1 call $~lib/builtins/abort @@ -1925,7 +1989,7 @@ i32.eqz if i32.const 0 - i32.const 1056 + i32.const 1456 i32.const 136 i32.const 1 call $~lib/builtins/abort @@ -2059,6 +2123,45 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) + (func $instanceof/A#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + 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 1548 + i32.lt_s + if + i32.const 34336 + i32.const 34384 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $instanceof/Animal#constructor (type $i32_=>_i32) (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2198,7 +2301,7 @@ i32.eqz if i32.const 0 - i32.const 1168 + i32.const 1120 i32.const 148 i32.const 30 call $~lib/builtins/abort @@ -2225,7 +2328,7 @@ i32.eqz if i32.const 0 - i32.const 1168 + i32.const 1120 i32.const 128 i32.const 18 call $~lib/builtins/abort @@ -2239,7 +2342,7 @@ i32.eqz if i32.const 0 - i32.const 1168 + i32.const 1120 i32.const 132 i32.const 16 call $~lib/builtins/abort @@ -2272,8 +2375,8 @@ i32.load $0 i32.gt_u if - i32.const 1296 - i32.const 1360 + i32.const 1248 + i32.const 1312 i32.const 21 i32.const 28 call $~lib/builtins/abort diff --git a/tests/compiler/instanceof.ts b/tests/compiler/instanceof.ts index 8695c1b050..c394d51808 100644 --- a/tests/compiler/instanceof.ts +++ b/tests/compiler/instanceof.ts @@ -1,8 +1,8 @@ class A {} class B extends A {} -var a: A; -var b: B; +var a: A = new A(); +var b: B = new B(); var i: i32; var I: i64; var f: f32; diff --git a/tests/compiler/issues/1095.debug.wat b/tests/compiler/issues/1095.debug.wat index 4f4cdc4a01..be47bdc384 100644 --- a/tests/compiler/issues/1095.debug.wat +++ b/tests/compiler/issues/1095.debug.wat @@ -84,7 +84,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -96,8 +95,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -344,15 +341,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1399,8 +1393,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1445,8 +1437,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1496,8 +1486,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/issues/1225.debug.wat b/tests/compiler/issues/1225.debug.wat index 2e4e31bb80..c3d5f8b0f4 100644 --- a/tests/compiler/issues/1225.debug.wat +++ b/tests/compiler/issues/1225.debug.wat @@ -99,7 +99,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -111,8 +110,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -359,15 +356,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1414,8 +1408,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1460,8 +1452,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1511,8 +1501,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2224,8 +2212,6 @@ i32.load $0 offset=4 ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2236,8 +2222,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2251,8 +2235,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/issues/1699.debug.wat b/tests/compiler/issues/1699.debug.wat index 258da2b726..938ddc6c90 100644 --- a/tests/compiler/issues/1699.debug.wat +++ b/tests/compiler/issues/1699.debug.wat @@ -86,7 +86,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -98,8 +97,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -346,15 +343,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1401,8 +1395,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1447,8 +1439,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1498,8 +1488,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2569,7 +2557,6 @@ (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -2587,8 +2574,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 diff --git a/tests/compiler/issues/1714.debug.wat b/tests/compiler/issues/1714.debug.wat index defbea33f4..8879646343 100644 --- a/tests/compiler/issues/1714.debug.wat +++ b/tests/compiler/issues/1714.debug.wat @@ -57,7 +57,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -128,8 +127,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/issues/2166.debug.wat b/tests/compiler/issues/2166.debug.wat index 825b6f6316..38945efff6 100644 --- a/tests/compiler/issues/2166.debug.wat +++ b/tests/compiler/issues/2166.debug.wat @@ -88,7 +88,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -100,8 +99,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -348,15 +345,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1403,8 +1397,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1449,8 +1441,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1500,8 +1490,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2215,7 +2203,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2286,8 +2273,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/issues/2322/index.debug.wat b/tests/compiler/issues/2322/index.debug.wat index 91de59a7e6..7b77aa6404 100644 --- a/tests/compiler/issues/2322/index.debug.wat +++ b/tests/compiler/issues/2322/index.debug.wat @@ -82,7 +82,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -94,8 +93,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -342,15 +339,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1397,8 +1391,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1443,8 +1435,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1494,8 +1484,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/localinit.debug.wat b/tests/compiler/localinit.debug.wat new file mode 100644 index 0000000000..1c1137bad5 --- /dev/null +++ b/tests/compiler/localinit.debug.wat @@ -0,0 +1,168 @@ +(module + (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) + (memory $0 0) + (table $0 1 1 funcref) + (elem $0 (i32.const 1)) + (export "memory" (memory $0)) + (start $~start) + (func $localinit/initInIf (type $none_=>_none) + (local $a i32) + i32.const 1 + local.tee $a + i32.const 0 + i32.gt_s + drop + local.get $a + drop + local.get $a + drop + ) + (func $localinit/initInIfElse (type $none_=>_none) + (local $a i32) + i32.const 1 + local.tee $a + i32.const 0 + i32.gt_s + drop + local.get $a + drop + local.get $a + drop + ) + (func $localinit/initInIfAnd (type $i32_=>_none) (param $cond i32) + (local $a i32) + (local $b i32) + local.get $cond + if (result i32) + i32.const 0 + local.tee $a + else + i32.const 0 + end + if (result i32) + i32.const 0 + local.tee $b + else + i32.const 0 + end + if + local.get $a + drop + local.get $b + drop + end + ) + (func $localinit/initInIfOr (type $i32_=>_none) (param $cond i32) + (local $a i32) + (local $b i32) + local.get $cond + if (result i32) + i32.const 1 + else + i32.const 0 + local.tee $a + end + if (result i32) + i32.const 1 + else + i32.const 0 + local.tee $b + end + if + return + end + local.get $a + drop + local.get $b + drop + ) + (func $localinit/initInDo (type $i32_=>_none) (param $cond i32) + (local $a i32) + loop $do-loop|0 + i32.const 1 + local.set $a + local.get $cond + br_if $do-loop|0 + end + local.get $a + drop + ) + (func $localinit/initInWhile (type $none_=>_none) + (local $a i32) + block $while-break|0 + loop $while-continue|0 + i32.const 1 + local.tee $a + if + local.get $a + drop + br $while-break|0 + end + end + end + local.get $a + drop + ) + (func $localinit/initInWhileAnd (type $i32_=>_none) (param $cond i32) + (local $a i32) + loop $while-continue|0 + local.get $cond + if (result i32) + i32.const 0 + local.tee $a + else + i32.const 0 + end + if + local.get $a + drop + br $while-continue|0 + end + end + ) + (func $localinit/initInWhileOr (type $i32_=>_none) (param $cond i32) + (local $a i32) + (local $b i32) + loop $while-continue|0 + local.get $cond + if (result i32) + i32.const 1 + else + i32.const 1 + local.tee $a + end + if (result i32) + i32.const 1 + else + i32.const 1 + local.tee $b + end + if + return + end + end + local.get $a + drop + local.get $b + drop + ) + (func $start:localinit (type $none_=>_none) + call $localinit/initInIf + call $localinit/initInIfElse + i32.const 1 + call $localinit/initInIfAnd + i32.const 1 + call $localinit/initInIfOr + i32.const 0 + call $localinit/initInDo + call $localinit/initInWhile + i32.const 1 + call $localinit/initInWhileAnd + i32.const 1 + call $localinit/initInWhileOr + ) + (func $~start (type $none_=>_none) + call $start:localinit + ) +) diff --git a/tests/compiler/localinit.json b/tests/compiler/localinit.json new file mode 100644 index 0000000000..8e0a066281 --- /dev/null +++ b/tests/compiler/localinit.json @@ -0,0 +1,5 @@ +{ + "asc_flags": [ + "--runtime", "stub" + ] +} diff --git a/tests/compiler/localinit.release.wat b/tests/compiler/localinit.release.wat new file mode 100644 index 0000000000..23da3862e2 --- /dev/null +++ b/tests/compiler/localinit.release.wat @@ -0,0 +1,4 @@ +(module + (memory $0 0) + (export "memory" (memory $0)) +) diff --git a/tests/compiler/localinit.ts b/tests/compiler/localinit.ts new file mode 100644 index 0000000000..0eede006ad --- /dev/null +++ b/tests/compiler/localinit.ts @@ -0,0 +1,77 @@ +function initInIf(): void { + let a: i32; + if ((a = 1) > 0) { + a; + } + a; +} +initInIf(); + +function initInIfElse(): void { + let a: i32; + if ((a = 1) > 0) { + a; + } else { + a; + } + a; +} +initInIfElse(); + +function initInIfAnd(cond: bool): void { + let a: i32; + let b: i32; + if (cond && (a = 0) && (b = 0)) { + a; + b; + } +} +initInIfAnd(true); + +function initInIfOr(cond: bool): void { + let a: i32; + let b: i32; + if (cond || (a = 0) || (b = 0)) { + return; + } + a; + b; +} +initInIfOr(true); + +function initInDo(cond: bool): void { + let a: i32; + do a = 1; + while (cond); + a; +} +initInDo(false); + +function initInWhile(): void { + let a: i32; + while (a = 1) { + a; + break; + } + a; +} +initInWhile(); + +function initInWhileAnd(cond: bool): void { + let a: i32; + while (cond && (a = 0)) { + a; + } +} +initInWhileAnd(true); + +function initInWhileOr(cond: bool): void { + let a: i32; + let b: i32; + while (cond || (a = 1) || (b = 1)) { + return; + } + a; + b; +} +initInWhileOr(true); diff --git a/tests/compiler/logical.debug.wat b/tests/compiler/logical.debug.wat index 29ee6a516e..0cb803bd9e 100644 --- a/tests/compiler/logical.debug.wat +++ b/tests/compiler/logical.debug.wat @@ -107,7 +107,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -119,8 +118,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -367,15 +364,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1422,8 +1416,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1468,8 +1460,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1519,8 +1509,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2235,8 +2223,6 @@ end ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2247,8 +2233,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2262,8 +2246,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/loop-flow.debug.wat b/tests/compiler/loop-flow.debug.wat index 327a96aad5..a449df0657 100644 --- a/tests/compiler/loop-flow.debug.wat +++ b/tests/compiler/loop-flow.debug.wat @@ -26,11 +26,8 @@ (export "memory" (memory $0)) (start $~start) (func $loop-flow/whileReturn (type $none_=>_i32) (result i32) - (local $0 i32) loop $while-continue|0 i32.const 1 - local.set $0 - local.get $0 if i32.const 1 return @@ -39,11 +36,8 @@ unreachable ) (func $loop-flow/whileAny (type $i32_=>_i32) (param $a i32) (result i32) - (local $1 i32) loop $while-continue|0 i32.const 1 - local.set $1 - local.get $1 if local.get $a i32.const 1 @@ -157,8 +151,7 @@ unreachable end i32.const 1 - drop - br $do-loop|0 + br_if $do-loop|0 end unreachable ) @@ -240,11 +233,8 @@ end ) (func $loop-flow/whileThrow (type $none_=>_i32) (result i32) - (local $0 i32) loop $while-continue|0 i32.const 1 - local.set $0 - local.get $0 if i32.const 80 i32.const 32 @@ -257,11 +247,8 @@ unreachable ) (func $loop-flow/whileContinue (type $none_=>_i32) (result i32) - (local $0 i32) loop $while-continue|0 i32.const 1 - local.set $0 - local.get $0 if br $while-continue|0 end diff --git a/tests/compiler/loop-flow.release.wat b/tests/compiler/loop-flow.release.wat index be1bb71b7c..9dfabd1057 100644 --- a/tests/compiler/loop-flow.release.wat +++ b/tests/compiler/loop-flow.release.wat @@ -26,13 +26,11 @@ i32.const 1 ) (func $loop-flow/whileAny (type $i32_=>_i32) (param $0 i32) (result i32) - loop $while-continue|0 (result i32) + loop $while-continue|0 local.get $0 i32.const 1 - i32.eq - if (result i32) - i32.const 1 - else + i32.ne + if local.get $0 i32.const 2 i32.eq @@ -49,6 +47,7 @@ unreachable end end + i32.const 1 ) (func $loop-flow/forAny (type $i32_=>_i32) (param $0 i32) (result i32) loop $for-loop|0 (result i32) @@ -74,11 +73,13 @@ end ) (func $loop-flow/doAny (type $i32_=>_i32) (param $0 i32) (result i32) - loop $do-loop|0 + loop $do-loop|0 (result i32) local.get $0 i32.const 1 - i32.ne - if + i32.eq + if (result i32) + i32.const 1 + else local.get $0 i32.const 2 i32.eq @@ -93,7 +94,6 @@ br $do-loop|0 end end - i32.const 1 ) (func $loop-flow/whileThrow (type $none_=>_i32) (result i32) i32.const 1104 diff --git a/tests/compiler/managed-cast.debug.wat b/tests/compiler/managed-cast.debug.wat index b98ea6d082..3e795e72ed 100644 --- a/tests/compiler/managed-cast.debug.wat +++ b/tests/compiler/managed-cast.debug.wat @@ -84,7 +84,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -96,8 +95,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -344,15 +341,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1399,8 +1393,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1445,8 +1437,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1496,8 +1486,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2306,8 +2294,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2318,8 +2304,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2333,8 +2317,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/memcpy.debug.wat b/tests/compiler/memcpy.debug.wat index 2c5bfa9fcc..576039facc 100644 --- a/tests/compiler/memcpy.debug.wat +++ b/tests/compiler/memcpy.debug.wat @@ -98,11 +98,6 @@ (local $82 i32) (local $83 i32) (local $84 i32) - (local $85 i32) - (local $86 i32) - (local $87 i32) - (local $88 i32) - (local $89 i32) local.get $dest local.set $ret loop $while-continue|0 @@ -114,21 +109,19 @@ else i32.const 0 end - local.set $6 - local.get $6 if local.get $dest - local.tee $7 + local.tee $6 i32.const 1 i32.add local.set $dest - local.get $7 + local.get $6 local.get $src - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $src - local.get $8 + local.get $7 i32.load8_u $0 i32.store8 $0 local.get $n @@ -148,8 +141,6 @@ local.get $n i32.const 16 i32.ge_u - local.set $9 - local.get $9 if local.get $dest local.get $src @@ -258,17 +249,17 @@ i32.and if local.get $dest - local.tee $10 + local.tee $8 i32.const 1 i32.add local.set $dest - local.get $10 + local.get $8 local.get $src - local.tee $11 + local.tee $9 i32.const 1 i32.add local.set $src - local.get $11 + local.get $9 i32.load8_u $0 i32.store8 $0 end @@ -286,16 +277,16 @@ local.get $dest i32.const 4 i32.rem_u - local.set $12 - local.get $12 + local.set $10 + local.get $10 i32.const 1 i32.eq br_if $case0|2 - local.get $12 + local.get $10 i32.const 2 i32.eq br_if $case1|2 - local.get $12 + local.get $10 i32.const 3 i32.eq br_if $case2|2 @@ -305,45 +296,45 @@ i32.load $0 local.set $w local.get $dest - local.tee $13 + local.tee $11 i32.const 1 i32.add local.set $dest - local.get $13 + local.get $11 local.get $src - local.tee $14 + local.tee $12 i32.const 1 i32.add local.set $src - local.get $14 + local.get $12 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $15 + local.tee $13 i32.const 1 i32.add local.set $dest - local.get $15 + local.get $13 local.get $src - local.tee $16 + local.tee $14 i32.const 1 i32.add local.set $src - local.get $16 + local.get $14 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $17 + local.tee $15 i32.const 1 i32.add local.set $dest - local.get $17 + local.get $15 local.get $src - local.tee $18 + local.tee $16 i32.const 1 i32.add local.set $src - local.get $18 + local.get $16 i32.load8_u $0 i32.store8 $0 local.get $n @@ -354,8 +345,6 @@ local.get $n i32.const 17 i32.ge_u - local.set $19 - local.get $19 if local.get $src i32.const 1 @@ -440,31 +429,31 @@ i32.load $0 local.set $w local.get $dest - local.tee $20 + local.tee $17 i32.const 1 i32.add local.set $dest - local.get $20 + local.get $17 local.get $src - local.tee $21 + local.tee $18 i32.const 1 i32.add local.set $src - local.get $21 + local.get $18 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $22 + local.tee $19 i32.const 1 i32.add local.set $dest - local.get $22 + local.get $19 local.get $src - local.tee $23 + local.tee $20 i32.const 1 i32.add local.set $src - local.get $23 + local.get $20 i32.load8_u $0 i32.store8 $0 local.get $n @@ -475,8 +464,6 @@ local.get $n i32.const 18 i32.ge_u - local.set $24 - local.get $24 if local.get $src i32.const 2 @@ -561,17 +548,17 @@ i32.load $0 local.set $w local.get $dest - local.tee $25 + local.tee $21 i32.const 1 i32.add local.set $dest - local.get $25 + local.get $21 local.get $src - local.tee $26 + local.tee $22 i32.const 1 i32.add local.set $src - local.get $26 + local.get $22 i32.load8_u $0 i32.store8 $0 local.get $n @@ -582,8 +569,6 @@ local.get $n i32.const 19 i32.ge_u - local.set $27 - local.get $27 if local.get $src i32.const 3 @@ -670,227 +655,227 @@ i32.and if local.get $dest - local.tee $28 + local.tee $23 i32.const 1 i32.add local.set $dest - local.get $28 + local.get $23 local.get $src - local.tee $29 + local.tee $24 i32.const 1 i32.add local.set $src - local.get $29 + local.get $24 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $30 + local.tee $25 i32.const 1 i32.add local.set $dest - local.get $30 + local.get $25 local.get $src - local.tee $31 + local.tee $26 i32.const 1 i32.add local.set $src - local.get $31 + local.get $26 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $32 + local.tee $27 i32.const 1 i32.add local.set $dest - local.get $32 + local.get $27 local.get $src - local.tee $33 + local.tee $28 i32.const 1 i32.add local.set $src - local.get $33 + local.get $28 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $34 + local.tee $29 i32.const 1 i32.add local.set $dest - local.get $34 + local.get $29 local.get $src - local.tee $35 + local.tee $30 i32.const 1 i32.add local.set $src - local.get $35 + local.get $30 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $36 + local.tee $31 i32.const 1 i32.add local.set $dest - local.get $36 + local.get $31 local.get $src - local.tee $37 + local.tee $32 i32.const 1 i32.add local.set $src - local.get $37 + local.get $32 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $38 + local.tee $33 i32.const 1 i32.add local.set $dest - local.get $38 + local.get $33 local.get $src - local.tee $39 + local.tee $34 i32.const 1 i32.add local.set $src - local.get $39 + local.get $34 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $40 + local.tee $35 i32.const 1 i32.add local.set $dest - local.get $40 + local.get $35 local.get $src - local.tee $41 + local.tee $36 i32.const 1 i32.add local.set $src - local.get $41 + local.get $36 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $42 + local.tee $37 i32.const 1 i32.add local.set $dest - local.get $42 + local.get $37 local.get $src - local.tee $43 + local.tee $38 i32.const 1 i32.add local.set $src - local.get $43 + local.get $38 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $44 + local.tee $39 i32.const 1 i32.add local.set $dest - local.get $44 + local.get $39 local.get $src - local.tee $45 + local.tee $40 i32.const 1 i32.add local.set $src - local.get $45 + local.get $40 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $46 + local.tee $41 i32.const 1 i32.add local.set $dest - local.get $46 + local.get $41 local.get $src - local.tee $47 + local.tee $42 i32.const 1 i32.add local.set $src - local.get $47 + local.get $42 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $48 + local.tee $43 i32.const 1 i32.add local.set $dest - local.get $48 + local.get $43 local.get $src - local.tee $49 + local.tee $44 i32.const 1 i32.add local.set $src - local.get $49 + local.get $44 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $50 + local.tee $45 i32.const 1 i32.add local.set $dest - local.get $50 + local.get $45 local.get $src - local.tee $51 + local.tee $46 i32.const 1 i32.add local.set $src - local.get $51 + local.get $46 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $52 + local.tee $47 i32.const 1 i32.add local.set $dest - local.get $52 + local.get $47 local.get $src - local.tee $53 + local.tee $48 i32.const 1 i32.add local.set $src - local.get $53 + local.get $48 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $54 + local.tee $49 i32.const 1 i32.add local.set $dest - local.get $54 + local.get $49 local.get $src - local.tee $55 + local.tee $50 i32.const 1 i32.add local.set $src - local.get $55 + local.get $50 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $56 + local.tee $51 i32.const 1 i32.add local.set $dest - local.get $56 + local.get $51 local.get $src - local.tee $57 + local.tee $52 i32.const 1 i32.add local.set $src - local.get $57 + local.get $52 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $58 + local.tee $53 i32.const 1 i32.add local.set $dest - local.get $58 + local.get $53 local.get $src - local.tee $59 + local.tee $54 i32.const 1 i32.add local.set $src - local.get $59 + local.get $54 i32.load8_u $0 i32.store8 $0 end @@ -899,115 +884,115 @@ i32.and if local.get $dest - local.tee $60 + local.tee $55 i32.const 1 i32.add local.set $dest - local.get $60 + local.get $55 local.get $src - local.tee $61 + local.tee $56 i32.const 1 i32.add local.set $src - local.get $61 + local.get $56 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $62 + local.tee $57 i32.const 1 i32.add local.set $dest - local.get $62 + local.get $57 local.get $src - local.tee $63 + local.tee $58 i32.const 1 i32.add local.set $src - local.get $63 + local.get $58 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $64 + local.tee $59 i32.const 1 i32.add local.set $dest - local.get $64 + local.get $59 local.get $src - local.tee $65 + local.tee $60 i32.const 1 i32.add local.set $src - local.get $65 + local.get $60 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $66 + local.tee $61 i32.const 1 i32.add local.set $dest - local.get $66 + local.get $61 local.get $src - local.tee $67 + local.tee $62 i32.const 1 i32.add local.set $src - local.get $67 + local.get $62 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $68 + local.tee $63 i32.const 1 i32.add local.set $dest - local.get $68 + local.get $63 local.get $src - local.tee $69 + local.tee $64 i32.const 1 i32.add local.set $src - local.get $69 + local.get $64 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $70 + local.tee $65 i32.const 1 i32.add local.set $dest - local.get $70 + local.get $65 local.get $src - local.tee $71 + local.tee $66 i32.const 1 i32.add local.set $src - local.get $71 + local.get $66 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $72 + local.tee $67 i32.const 1 i32.add local.set $dest - local.get $72 + local.get $67 local.get $src - local.tee $73 + local.tee $68 i32.const 1 i32.add local.set $src - local.get $73 + local.get $68 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $74 + local.tee $69 i32.const 1 i32.add local.set $dest - local.get $74 + local.get $69 local.get $src - local.tee $75 + local.tee $70 i32.const 1 i32.add local.set $src - local.get $75 + local.get $70 i32.load8_u $0 i32.store8 $0 end @@ -1016,59 +1001,59 @@ i32.and if local.get $dest - local.tee $76 + local.tee $71 i32.const 1 i32.add local.set $dest - local.get $76 + local.get $71 local.get $src - local.tee $77 + local.tee $72 i32.const 1 i32.add local.set $src - local.get $77 + local.get $72 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $78 + local.tee $73 i32.const 1 i32.add local.set $dest - local.get $78 + local.get $73 local.get $src - local.tee $79 + local.tee $74 i32.const 1 i32.add local.set $src - local.get $79 + local.get $74 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $80 + local.tee $75 i32.const 1 i32.add local.set $dest - local.get $80 + local.get $75 local.get $src - local.tee $81 + local.tee $76 i32.const 1 i32.add local.set $src - local.get $81 + local.get $76 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $82 + local.tee $77 i32.const 1 i32.add local.set $dest - local.get $82 + local.get $77 local.get $src - local.tee $83 + local.tee $78 i32.const 1 i32.add local.set $src - local.get $83 + local.get $78 i32.load8_u $0 i32.store8 $0 end @@ -1077,31 +1062,31 @@ i32.and if local.get $dest - local.tee $84 + local.tee $79 i32.const 1 i32.add local.set $dest - local.get $84 + local.get $79 local.get $src - local.tee $85 + local.tee $80 i32.const 1 i32.add local.set $src - local.get $85 + local.get $80 i32.load8_u $0 i32.store8 $0 local.get $dest - local.tee $86 + local.tee $81 i32.const 1 i32.add local.set $dest - local.get $86 + local.get $81 local.get $src - local.tee $87 + local.tee $82 i32.const 1 i32.add local.set $src - local.get $87 + local.get $82 i32.load8_u $0 i32.store8 $0 end @@ -1110,17 +1095,17 @@ i32.and if local.get $dest - local.tee $88 + local.tee $83 i32.const 1 i32.add local.set $dest - local.get $88 + local.get $83 local.get $src - local.tee $89 + local.tee $84 i32.const 1 i32.add local.set $src - local.get $89 + local.get $84 i32.load8_u $0 i32.store8 $0 end diff --git a/tests/compiler/memmove.debug.wat b/tests/compiler/memmove.debug.wat index 3763257d0a..1a7d0c0304 100644 --- a/tests/compiler/memmove.debug.wat +++ b/tests/compiler/memmove.debug.wat @@ -20,12 +20,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) local.get $dest local.set $ret local.get $dest @@ -51,8 +45,6 @@ local.get $dest i32.const 8 i32.rem_u - local.set $4 - local.get $4 if local.get $n i32.eqz @@ -65,17 +57,17 @@ i32.sub local.set $n local.get $dest - local.tee $5 + local.tee $4 i32.const 1 i32.add local.set $dest - local.get $5 + local.get $4 local.get $src - local.tee $6 + local.tee $5 i32.const 1 i32.add local.set $src - local.get $6 + local.get $5 i32.load8_u $0 i32.store8 $0 br $while-continue|0 @@ -85,8 +77,6 @@ local.get $n i32.const 8 i32.ge_u - local.set $7 - local.get $7 if local.get $dest local.get $src @@ -110,21 +100,19 @@ end loop $while-continue|2 local.get $n - local.set $8 - local.get $8 if local.get $dest - local.tee $9 + local.tee $6 i32.const 1 i32.add local.set $dest - local.get $9 + local.get $6 local.get $src - local.tee $10 + local.tee $7 i32.const 1 i32.add local.set $src - local.get $10 + local.get $7 i32.load8_u $0 i32.store8 $0 local.get $n @@ -149,8 +137,6 @@ i32.add i32.const 8 i32.rem_u - local.set $11 - local.get $11 if local.get $n i32.eqz @@ -176,8 +162,6 @@ local.get $n i32.const 8 i32.ge_u - local.set $12 - local.get $12 if local.get $n i32.const 8 @@ -197,8 +181,6 @@ end loop $while-continue|5 local.get $n - local.set $13 - local.get $13 if local.get $dest local.get $n diff --git a/tests/compiler/memset.debug.wat b/tests/compiler/memset.debug.wat index f009dc65de..186024fa5d 100644 --- a/tests/compiler/memset.debug.wat +++ b/tests/compiler/memset.debug.wat @@ -18,7 +18,6 @@ (local $k i32) (local $c32 i32) (local $c64 i64) - (local $7 i32) local.get $dest local.set $ret local.get $n @@ -242,8 +241,6 @@ local.get $n i32.const 32 i32.ge_u - local.set $7 - local.get $7 if local.get $dest local.get $c64 diff --git a/tests/compiler/new.debug.wat b/tests/compiler/new.debug.wat index da97a0dd1c..0a07a67364 100644 --- a/tests/compiler/new.debug.wat +++ b/tests/compiler/new.debug.wat @@ -87,7 +87,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -99,8 +98,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -347,15 +344,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1402,8 +1396,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1448,8 +1440,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1499,8 +1489,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/new.ts b/tests/compiler/new.ts index 3c70d485bb..6950c27fb2 100644 --- a/tests/compiler/new.ts +++ b/tests/compiler/new.ts @@ -2,7 +2,7 @@ class Ref { get ref(): Ref { return this; } } -var ref: Ref; +var ref: Ref | null; ref = new Ref(); ref = new Ref; ref = new Ref().ref; @@ -11,7 +11,7 @@ class Gen { get gen(): Gen { return this; } } -var gen: Gen; +var gen: Gen | null; gen = new Gen(); gen = new Gen(); gen = new Gen().gen; @@ -22,7 +22,7 @@ namespace ns { } } -var ref2: ns.Ref; +var ref2: ns.Ref | null; ref2 = new ns.Ref(); ref2 = new ns.Ref; ref2 = new ns.Ref().ref; diff --git a/tests/compiler/object-literal.debug.wat b/tests/compiler/object-literal.debug.wat index 491af15e8b..ff4f0a982f 100644 --- a/tests/compiler/object-literal.debug.wat +++ b/tests/compiler/object-literal.debug.wat @@ -356,7 +356,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -368,8 +367,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -438,15 +435,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1493,8 +1487,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1539,8 +1531,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1590,8 +1580,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2313,7 +2301,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2384,8 +2371,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -2963,8 +2948,6 @@ i32.load $0 offset=36 ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2975,8 +2958,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2990,8 +2971,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/optional-typeparameters.debug.wat b/tests/compiler/optional-typeparameters.debug.wat index fd185638c9..5f69971f9f 100644 --- a/tests/compiler/optional-typeparameters.debug.wat +++ b/tests/compiler/optional-typeparameters.debug.wat @@ -92,7 +92,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -104,8 +103,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -352,15 +349,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1407,8 +1401,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1453,8 +1445,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1504,8 +1494,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2292,7 +2280,6 @@ (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -2310,8 +2297,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 diff --git a/tests/compiler/possibly-null.debug.wat b/tests/compiler/possibly-null.debug.wat index ca24752009..7f293a8fd9 100644 --- a/tests/compiler/possibly-null.debug.wat +++ b/tests/compiler/possibly-null.debug.wat @@ -120,11 +120,8 @@ drop ) (func $possibly-null/testWhile (type $i32_=>_none) (param $a i32) - (local $1 i32) loop $while-continue|0 local.get $a - local.set $1 - local.get $1 if i32.const 0 drop @@ -138,11 +135,8 @@ end ) (func $possibly-null/testWhile2 (type $i32_i32_=>_none) (param $a i32) (param $b i32) - (local $2 i32) loop $while-continue|0 local.get $a - local.set $2 - local.get $2 if i32.const 0 drop @@ -156,11 +150,8 @@ end ) (func $possibly-null/testWhile3 (type $i32_i32_=>_none) (param $a i32) (param $b i32) - (local $2 i32) loop $while-continue|0 local.get $a - local.set $2 - local.get $2 if i32.const 0 drop diff --git a/tests/compiler/reexport.debug.wat b/tests/compiler/reexport.debug.wat index efd75053d3..e48db570f6 100644 --- a/tests/compiler/reexport.debug.wat +++ b/tests/compiler/reexport.debug.wat @@ -125,7 +125,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -137,8 +136,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -385,15 +382,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1440,8 +1434,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1486,8 +1478,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1537,8 +1527,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/rereexport.debug.wat b/tests/compiler/rereexport.debug.wat index 7314e8d383..7942c8a288 100644 --- a/tests/compiler/rereexport.debug.wat +++ b/tests/compiler/rereexport.debug.wat @@ -118,7 +118,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -130,8 +129,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -378,15 +375,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1433,8 +1427,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1479,8 +1471,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1530,8 +1520,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/resolve-access.debug.wat b/tests/compiler/resolve-access.debug.wat index fc3c448602..baf24b01b1 100644 --- a/tests/compiler/resolve-access.debug.wat +++ b/tests/compiler/resolve-access.debug.wat @@ -102,7 +102,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -114,8 +113,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -362,15 +359,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1417,8 +1411,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1463,8 +1455,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1514,8 +1504,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2386,24 +2374,21 @@ unreachable ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $3 i32) (local $t i32) (local $r i32) (local $d1 i32) (local $d2 i32) (local $digits1 i64) (local $digits2 i64) - (local $t|10 i32) - (local $d1|11 i32) + (local $t|9 i32) + (local $d1|10 i32) (local $digits i32) - (local $digits|13 i32) + (local $digits|12 i32) (local $digit i32) loop $while-continue|0 local.get $num i32.const 10000 i32.ge_u - local.set $3 - local.get $3 if local.get $num i32.const 10000 @@ -2462,19 +2447,19 @@ local.get $num i32.const 100 i32.div_u - local.set $t|10 + local.set $t|9 local.get $num i32.const 100 i32.rem_u - local.set $d1|11 - local.get $t|10 + local.set $d1|10 + local.get $t|9 local.set $num local.get $offset i32.const 2 i32.sub local.set $offset i32.const 716 - local.get $d1|11 + local.get $d1|10 i32.const 2 i32.shl i32.add @@ -2502,13 +2487,13 @@ i32.shl i32.add i32.load $0 - local.set $digits|13 + local.set $digits|12 local.get $buffer local.get $offset i32.const 1 i32.shl i32.add - local.get $digits|13 + local.get $digits|12 i32.store $0 else local.get $offset @@ -2588,7 +2573,6 @@ unreachable ) (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) (local $t i64) (local $r i32) (local $b i32) @@ -2603,8 +2587,6 @@ local.get $num i64.const 100000000 i64.ge_u - local.set $3 - local.get $3 if local.get $num i64.const 100000000 @@ -2711,13 +2693,10 @@ call $~lib/util/number/utoa32_dec_lut ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) loop $while-continue|0 local.get $offset i32.const 2 i32.ge_u - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -2765,8 +2744,6 @@ (local $b64 i64) (local $b i64) (local $e i32) - (local $6 i32) - (local $7 i32) local.get $base local.set $value local.get $value @@ -2799,8 +2776,6 @@ local.get $num local.get $b i64.ge_u - local.set $6 - local.get $6 if local.get $num local.get $b @@ -2821,8 +2796,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $7 - local.get $7 if local.get $num local.get $b64 diff --git a/tests/compiler/resolve-binary.debug.wat b/tests/compiler/resolve-binary.debug.wat index c52816e626..c1905e291e 100644 --- a/tests/compiler/resolve-binary.debug.wat +++ b/tests/compiler/resolve-binary.debug.wat @@ -125,7 +125,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -196,8 +195,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -364,7 +361,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -376,8 +372,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -624,15 +618,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1679,8 +1670,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1725,8 +1714,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1776,8 +1763,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2476,24 +2461,21 @@ local.get $ptr ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $3 i32) (local $t i32) (local $r i32) (local $d1 i32) (local $d2 i32) (local $digits1 i64) (local $digits2 i64) - (local $t|10 i32) - (local $d1|11 i32) + (local $t|9 i32) + (local $d1|10 i32) (local $digits i32) - (local $digits|13 i32) + (local $digits|12 i32) (local $digit i32) loop $while-continue|0 local.get $num i32.const 10000 i32.ge_u - local.set $3 - local.get $3 if local.get $num i32.const 10000 @@ -2552,19 +2534,19 @@ local.get $num i32.const 100 i32.div_u - local.set $t|10 + local.set $t|9 local.get $num i32.const 100 i32.rem_u - local.set $d1|11 - local.get $t|10 + local.set $d1|10 + local.get $t|9 local.set $num local.get $offset i32.const 2 i32.sub local.set $offset i32.const 764 - local.get $d1|11 + local.get $d1|10 i32.const 2 i32.shl i32.add @@ -2592,13 +2574,13 @@ i32.shl i32.add i32.load $0 - local.set $digits|13 + local.set $digits|12 local.get $buffer local.get $offset i32.const 1 i32.shl i32.add - local.get $digits|13 + local.get $digits|12 i32.store $0 else local.get $offset @@ -2619,13 +2601,10 @@ end ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) loop $while-continue|0 local.get $offset i32.const 2 i32.ge_u - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -2673,8 +2652,6 @@ (local $b64 i64) (local $b i64) (local $e i32) - (local $6 i32) - (local $7 i32) local.get $base local.set $value local.get $value @@ -2707,8 +2684,6 @@ local.get $num local.get $b i64.ge_u - local.set $6 - local.get $6 if local.get $num local.get $b @@ -2729,8 +2704,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $7 - local.get $7 if local.get $num local.get $b64 @@ -3870,32 +3843,28 @@ (local $p2 i64) (local $kappa i32) (local $len i32) - (local $15 i32) (local $d i32) + (local $16 i32) (local $17 i32) - (local $18 i32) (local $tmp i64) - (local $buffer|20 i32) - (local $len|21 i32) - (local $delta|22 i64) + (local $buffer|19 i32) + (local $len|20 i32) + (local $delta|21 i64) (local $rest i64) (local $ten_kappa i64) (local $wp_w i64) (local $lastp i32) (local $digit i32) + (local $d|27 i64) (local $28 i32) - (local $29 i32) - (local $d|30 i64) - (local $31 i32) - (local $buffer|32 i32) - (local $len|33 i32) - (local $delta|34 i64) - (local $rest|35 i64) - (local $ten_kappa|36 i64) - (local $wp_w|37 i64) - (local $lastp|38 i32) - (local $digit|39 i32) - (local $40 i32) + (local $buffer|29 i32) + (local $len|30 i32) + (local $delta|31 i64) + (local $rest|32 i64) + (local $ten_kappa|33 i64) + (local $wp_w|34 i64) + (local $lastp|35 i32) + (local $digit|36 i32) i32.const 0 local.get $mp_exp i32.sub @@ -3932,8 +3901,6 @@ local.get $kappa i32.const 0 i32.gt_s - local.set $15 - local.get $15 if block $break|1 block $case10|1 @@ -3948,44 +3915,44 @@ block $case1|1 block $case0|1 local.get $kappa - local.set $17 - local.get $17 + local.set $16 + local.get $16 i32.const 10 i32.eq br_if $case0|1 - local.get $17 + local.get $16 i32.const 9 i32.eq br_if $case1|1 - local.get $17 + local.get $16 i32.const 8 i32.eq br_if $case2|1 - local.get $17 + local.get $16 i32.const 7 i32.eq br_if $case3|1 - local.get $17 + local.get $16 i32.const 6 i32.eq br_if $case4|1 - local.get $17 + local.get $16 i32.const 5 i32.eq br_if $case5|1 - local.get $17 + local.get $16 i32.const 4 i32.eq br_if $case6|1 - local.get $17 + local.get $16 i32.const 3 i32.eq br_if $case7|1 - local.get $17 + local.get $16 i32.const 2 i32.eq br_if $case8|1 - local.get $17 + local.get $16 i32.const 1 i32.eq br_if $case9|1 @@ -4097,11 +4064,11 @@ if local.get $buffer local.get $len - local.tee $18 + local.tee $17 i32.const 1 i32.add local.set $len - local.get $18 + local.get $17 i32.const 1 i32.shl i32.add @@ -4133,11 +4100,11 @@ i32.add global.set $~lib/util/number/_K local.get $buffer - local.set $buffer|20 + local.set $buffer|19 local.get $len - local.set $len|21 + local.set $len|20 local.get $delta - local.set $delta|22 + local.set $delta|21 local.get $tmp local.set $rest i32.const 9632 @@ -4152,8 +4119,8 @@ local.set $ten_kappa local.get $wp_w_frc local.set $wp_w - local.get $buffer|20 - local.get $len|21 + local.get $buffer|19 + local.get $len|20 i32.const 1 i32.sub i32.const 1 @@ -4168,7 +4135,7 @@ local.get $wp_w i64.lt_u if (result i32) - local.get $delta|22 + local.get $delta|21 local.get $rest i64.sub local.get $ten_kappa @@ -4198,8 +4165,6 @@ else i32.const 0 end - local.set $28 - local.get $28 if local.get $digit i32.const 1 @@ -4223,8 +4188,6 @@ end loop $while-continue|4 i32.const 1 - local.set $29 - local.get $29 if local.get $p2 i64.const 10 @@ -4238,8 +4201,8 @@ local.get $one_exp i64.extend_i32_s i64.shr_u - local.set $d|30 - local.get $d|30 + local.set $d|27 + local.get $d|27 local.get $len i64.extend_i32_s i64.or @@ -4248,16 +4211,16 @@ if local.get $buffer local.get $len - local.tee $31 + local.tee $28 i32.const 1 i32.add local.set $len - local.get $31 + local.get $28 i32.const 1 i32.shl i32.add i32.const 48 - local.get $d|30 + local.get $d|27 i32.wrap_i64 i32.const 65535 i32.and @@ -4292,79 +4255,77 @@ i64.mul local.set $wp_w_frc local.get $buffer - local.set $buffer|32 + local.set $buffer|29 local.get $len - local.set $len|33 + local.set $len|30 local.get $delta - local.set $delta|34 + local.set $delta|31 local.get $p2 - local.set $rest|35 + local.set $rest|32 local.get $one_frc - local.set $ten_kappa|36 + local.set $ten_kappa|33 local.get $wp_w_frc - local.set $wp_w|37 - local.get $buffer|32 - local.get $len|33 + local.set $wp_w|34 + local.get $buffer|29 + local.get $len|30 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $lastp|38 - local.get $lastp|38 + local.set $lastp|35 + local.get $lastp|35 i32.load16_u $0 - local.set $digit|39 + local.set $digit|36 loop $while-continue|6 - local.get $rest|35 - local.get $wp_w|37 + local.get $rest|32 + local.get $wp_w|34 i64.lt_u if (result i32) - local.get $delta|34 - local.get $rest|35 + local.get $delta|31 + local.get $rest|32 i64.sub - local.get $ten_kappa|36 + local.get $ten_kappa|33 i64.ge_u else i32.const 0 end if (result i32) - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.lt_u if (result i32) i32.const 1 else - local.get $wp_w|37 - local.get $rest|35 + local.get $wp_w|34 + local.get $rest|32 i64.sub - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.sub i64.gt_u end else i32.const 0 end - local.set $40 - local.get $40 if - local.get $digit|39 + local.get $digit|36 i32.const 1 i32.sub - local.set $digit|39 - local.get $rest|35 - local.get $ten_kappa|36 + local.set $digit|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.set $rest|35 + local.set $rest|32 br $while-continue|6 end end - local.get $lastp|38 - local.get $digit|39 + local.get $lastp|35 + local.get $digit|36 i32.store16 $0 local.get $len return @@ -5178,7 +5139,6 @@ (local $out i32) (local $log i32) (local $4 i32) - (local $5 i32) i32.const 1 local.set $out i32.const 0 @@ -5369,8 +5329,6 @@ end loop $while-continue|1 local.get $e - local.set $5 - local.get $5 if local.get $e i32.const 1 diff --git a/tests/compiler/resolve-elementaccess.debug.wat b/tests/compiler/resolve-elementaccess.debug.wat index d9fb8577b1..9897980dcb 100644 --- a/tests/compiler/resolve-elementaccess.debug.wat +++ b/tests/compiler/resolve-elementaccess.debug.wat @@ -125,7 +125,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -137,8 +136,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -385,15 +382,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1440,8 +1434,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1486,8 +1478,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1537,8 +1527,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2442,32 +2430,28 @@ (local $p2 i64) (local $kappa i32) (local $len i32) - (local $15 i32) (local $d i32) + (local $16 i32) (local $17 i32) - (local $18 i32) (local $tmp i64) - (local $buffer|20 i32) - (local $len|21 i32) - (local $delta|22 i64) + (local $buffer|19 i32) + (local $len|20 i32) + (local $delta|21 i64) (local $rest i64) (local $ten_kappa i64) (local $wp_w i64) (local $lastp i32) (local $digit i32) + (local $d|27 i64) (local $28 i32) - (local $29 i32) - (local $d|30 i64) - (local $31 i32) - (local $buffer|32 i32) - (local $len|33 i32) - (local $delta|34 i64) - (local $rest|35 i64) - (local $ten_kappa|36 i64) - (local $wp_w|37 i64) - (local $lastp|38 i32) - (local $digit|39 i32) - (local $40 i32) + (local $buffer|29 i32) + (local $len|30 i32) + (local $delta|31 i64) + (local $rest|32 i64) + (local $ten_kappa|33 i64) + (local $wp_w|34 i64) + (local $lastp|35 i32) + (local $digit|36 i32) i32.const 0 local.get $mp_exp i32.sub @@ -2504,8 +2488,6 @@ local.get $kappa i32.const 0 i32.gt_s - local.set $15 - local.get $15 if block $break|1 block $case10|1 @@ -2520,44 +2502,44 @@ block $case1|1 block $case0|1 local.get $kappa - local.set $17 - local.get $17 + local.set $16 + local.get $16 i32.const 10 i32.eq br_if $case0|1 - local.get $17 + local.get $16 i32.const 9 i32.eq br_if $case1|1 - local.get $17 + local.get $16 i32.const 8 i32.eq br_if $case2|1 - local.get $17 + local.get $16 i32.const 7 i32.eq br_if $case3|1 - local.get $17 + local.get $16 i32.const 6 i32.eq br_if $case4|1 - local.get $17 + local.get $16 i32.const 5 i32.eq br_if $case5|1 - local.get $17 + local.get $16 i32.const 4 i32.eq br_if $case6|1 - local.get $17 + local.get $16 i32.const 3 i32.eq br_if $case7|1 - local.get $17 + local.get $16 i32.const 2 i32.eq br_if $case8|1 - local.get $17 + local.get $16 i32.const 1 i32.eq br_if $case9|1 @@ -2669,11 +2651,11 @@ if local.get $buffer local.get $len - local.tee $18 + local.tee $17 i32.const 1 i32.add local.set $len - local.get $18 + local.get $17 i32.const 1 i32.shl i32.add @@ -2705,11 +2687,11 @@ i32.add global.set $~lib/util/number/_K local.get $buffer - local.set $buffer|20 + local.set $buffer|19 local.get $len - local.set $len|21 + local.set $len|20 local.get $delta - local.set $delta|22 + local.set $delta|21 local.get $tmp local.set $rest i32.const 1680 @@ -2724,8 +2706,8 @@ local.set $ten_kappa local.get $wp_w_frc local.set $wp_w - local.get $buffer|20 - local.get $len|21 + local.get $buffer|19 + local.get $len|20 i32.const 1 i32.sub i32.const 1 @@ -2740,7 +2722,7 @@ local.get $wp_w i64.lt_u if (result i32) - local.get $delta|22 + local.get $delta|21 local.get $rest i64.sub local.get $ten_kappa @@ -2770,8 +2752,6 @@ else i32.const 0 end - local.set $28 - local.get $28 if local.get $digit i32.const 1 @@ -2795,8 +2775,6 @@ end loop $while-continue|4 i32.const 1 - local.set $29 - local.get $29 if local.get $p2 i64.const 10 @@ -2810,8 +2788,8 @@ local.get $one_exp i64.extend_i32_s i64.shr_u - local.set $d|30 - local.get $d|30 + local.set $d|27 + local.get $d|27 local.get $len i64.extend_i32_s i64.or @@ -2820,16 +2798,16 @@ if local.get $buffer local.get $len - local.tee $31 + local.tee $28 i32.const 1 i32.add local.set $len - local.get $31 + local.get $28 i32.const 1 i32.shl i32.add i32.const 48 - local.get $d|30 + local.get $d|27 i32.wrap_i64 i32.const 65535 i32.and @@ -2864,79 +2842,77 @@ i64.mul local.set $wp_w_frc local.get $buffer - local.set $buffer|32 + local.set $buffer|29 local.get $len - local.set $len|33 + local.set $len|30 local.get $delta - local.set $delta|34 + local.set $delta|31 local.get $p2 - local.set $rest|35 + local.set $rest|32 local.get $one_frc - local.set $ten_kappa|36 + local.set $ten_kappa|33 local.get $wp_w_frc - local.set $wp_w|37 - local.get $buffer|32 - local.get $len|33 + local.set $wp_w|34 + local.get $buffer|29 + local.get $len|30 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $lastp|38 - local.get $lastp|38 + local.set $lastp|35 + local.get $lastp|35 i32.load16_u $0 - local.set $digit|39 + local.set $digit|36 loop $while-continue|6 - local.get $rest|35 - local.get $wp_w|37 + local.get $rest|32 + local.get $wp_w|34 i64.lt_u if (result i32) - local.get $delta|34 - local.get $rest|35 + local.get $delta|31 + local.get $rest|32 i64.sub - local.get $ten_kappa|36 + local.get $ten_kappa|33 i64.ge_u else i32.const 0 end if (result i32) - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.lt_u if (result i32) i32.const 1 else - local.get $wp_w|37 - local.get $rest|35 + local.get $wp_w|34 + local.get $rest|32 i64.sub - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.sub i64.gt_u end else i32.const 0 end - local.set $40 - local.get $40 if - local.get $digit|39 + local.get $digit|36 i32.const 1 i32.sub - local.set $digit|39 - local.get $rest|35 - local.get $ten_kappa|36 + local.set $digit|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.set $rest|35 + local.set $rest|32 br $while-continue|6 end end - local.get $lastp|38 - local.get $digit|39 + local.get $lastp|35 + local.get $digit|36 i32.store16 $0 local.get $len return @@ -2947,24 +2923,21 @@ unreachable ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $3 i32) (local $t i32) (local $r i32) (local $d1 i32) (local $d2 i32) (local $digits1 i64) (local $digits2 i64) - (local $t|10 i32) - (local $d1|11 i32) + (local $t|9 i32) + (local $d1|10 i32) (local $digits i32) - (local $digits|13 i32) + (local $digits|12 i32) (local $digit i32) loop $while-continue|0 local.get $num i32.const 10000 i32.ge_u - local.set $3 - local.get $3 if local.get $num i32.const 10000 @@ -3023,19 +2996,19 @@ local.get $num i32.const 100 i32.div_u - local.set $t|10 + local.set $t|9 local.get $num i32.const 100 i32.rem_u - local.set $d1|11 - local.get $t|10 + local.set $d1|10 + local.get $t|9 local.set $num local.get $offset i32.const 2 i32.sub local.set $offset i32.const 1720 - local.get $d1|11 + local.get $d1|10 i32.const 2 i32.shl i32.add @@ -3063,13 +3036,13 @@ i32.shl i32.add i32.load $0 - local.set $digits|13 + local.set $digits|12 local.get $buffer local.get $offset i32.const 1 i32.shl i32.add - local.get $digits|13 + local.get $digits|12 i32.store $0 else local.get $offset @@ -3906,7 +3879,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -3977,8 +3949,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -4090,13 +4060,10 @@ i32.load8_u $0 ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) loop $while-continue|0 local.get $offset i32.const 2 i32.ge_u - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -4144,8 +4111,6 @@ (local $b64 i64) (local $b i64) (local $e i32) - (local $6 i32) - (local $7 i32) local.get $base local.set $value local.get $value @@ -4178,8 +4143,6 @@ local.get $num local.get $b i64.ge_u - local.set $6 - local.get $6 if local.get $num local.get $b @@ -4200,8 +4163,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $7 - local.get $7 if local.get $num local.get $b64 diff --git a/tests/compiler/resolve-function-expression.debug.wat b/tests/compiler/resolve-function-expression.debug.wat index 5c85e09261..8c37003bce 100644 --- a/tests/compiler/resolve-function-expression.debug.wat +++ b/tests/compiler/resolve-function-expression.debug.wat @@ -168,7 +168,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -180,8 +179,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -428,15 +425,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1483,8 +1477,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1529,8 +1521,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1580,8 +1570,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2280,24 +2268,21 @@ local.get $ptr ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $3 i32) (local $t i32) (local $r i32) (local $d1 i32) (local $d2 i32) (local $digits1 i64) (local $digits2 i64) - (local $t|10 i32) - (local $d1|11 i32) + (local $t|9 i32) + (local $d1|10 i32) (local $digits i32) - (local $digits|13 i32) + (local $digits|12 i32) (local $digit i32) loop $while-continue|0 local.get $num i32.const 10000 i32.ge_u - local.set $3 - local.get $3 if local.get $num i32.const 10000 @@ -2356,19 +2341,19 @@ local.get $num i32.const 100 i32.div_u - local.set $t|10 + local.set $t|9 local.get $num i32.const 100 i32.rem_u - local.set $d1|11 - local.get $t|10 + local.set $d1|10 + local.get $t|9 local.set $num local.get $offset i32.const 2 i32.sub local.set $offset i32.const 812 - local.get $d1|11 + local.get $d1|10 i32.const 2 i32.shl i32.add @@ -2396,13 +2381,13 @@ i32.shl i32.add i32.load $0 - local.set $digits|13 + local.set $digits|12 local.get $buffer local.get $offset i32.const 1 i32.shl i32.add - local.get $digits|13 + local.get $digits|12 i32.store $0 else local.get $offset @@ -2423,13 +2408,10 @@ end ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) loop $while-continue|0 local.get $offset i32.const 2 i32.ge_u - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -2477,8 +2459,6 @@ (local $b64 i64) (local $b i64) (local $e i32) - (local $6 i32) - (local $7 i32) local.get $base local.set $value local.get $value @@ -2511,8 +2491,6 @@ local.get $num local.get $b i64.ge_u - local.set $6 - local.get $6 if local.get $num local.get $b @@ -2533,8 +2511,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $7 - local.get $7 if local.get $num local.get $b64 @@ -2663,7 +2639,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2734,8 +2709,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/resolve-nested.ts b/tests/compiler/resolve-nested.ts index 38082458b6..523ae141c8 100644 --- a/tests/compiler/resolve-nested.ts +++ b/tests/compiler/resolve-nested.ts @@ -3,12 +3,12 @@ namespace Outer { export class InnerClass {} export namespace Inner { export class EvenInnerClass {} - var a: OuterClass; - var b: InnerClass; - var c: EvenInnerClass; - var d: Outer.InnerClass; - var e: Outer.Inner.EvenInnerClass; - var f: Inner.EvenInnerClass; + var a: OuterClass | null; + var b: InnerClass | null; + var c: EvenInnerClass | null; + var d: Outer.InnerClass | null; + var e: Outer.Inner.EvenInnerClass | null; + var f: Inner.EvenInnerClass | null; export function evenInner( a: OuterClass, b: InnerClass, @@ -18,11 +18,11 @@ namespace Outer { f: Inner.EvenInnerClass ): void {} } - var a: OuterClass; - var b: InnerClass; - var c: Inner.EvenInnerClass; - var d: Outer.InnerClass; - var e: Outer.Inner.EvenInnerClass; + var a: OuterClass | null; + var b: InnerClass | null; + var c: Inner.EvenInnerClass | null; + var d: Outer.InnerClass | null; + var e: Outer.Inner.EvenInnerClass | null; export function inner( a: OuterClass, b: InnerClass, @@ -31,9 +31,9 @@ namespace Outer { e: Outer.Inner.EvenInnerClass ): void {} } -var a: OuterClass; -var b: Outer.InnerClass; -var c: Outer.Inner.EvenInnerClass; +var a: OuterClass | null; +var b: Outer.InnerClass | null; +var c: Outer.Inner.EvenInnerClass | null; export function outer( a: OuterClass, b: Outer.InnerClass, diff --git a/tests/compiler/resolve-new.debug.wat b/tests/compiler/resolve-new.debug.wat index 2104057fc0..a3d3972594 100644 --- a/tests/compiler/resolve-new.debug.wat +++ b/tests/compiler/resolve-new.debug.wat @@ -82,7 +82,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -94,8 +93,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -342,15 +339,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1397,8 +1391,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1443,8 +1435,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1494,8 +1484,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/resolve-propertyaccess.debug.wat b/tests/compiler/resolve-propertyaccess.debug.wat index a192a27f9b..c4704956f8 100644 --- a/tests/compiler/resolve-propertyaccess.debug.wat +++ b/tests/compiler/resolve-propertyaccess.debug.wat @@ -169,7 +169,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -181,8 +180,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -429,15 +426,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1484,8 +1478,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1530,8 +1522,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1581,8 +1571,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2281,24 +2269,21 @@ local.get $ptr ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $3 i32) (local $t i32) (local $r i32) (local $d1 i32) (local $d2 i32) (local $digits1 i64) (local $digits2 i64) - (local $t|10 i32) - (local $d1|11 i32) + (local $t|9 i32) + (local $d1|10 i32) (local $digits i32) - (local $digits|13 i32) + (local $digits|12 i32) (local $digit i32) loop $while-continue|0 local.get $num i32.const 10000 i32.ge_u - local.set $3 - local.get $3 if local.get $num i32.const 10000 @@ -2357,19 +2342,19 @@ local.get $num i32.const 100 i32.div_u - local.set $t|10 + local.set $t|9 local.get $num i32.const 100 i32.rem_u - local.set $d1|11 - local.get $t|10 + local.set $d1|10 + local.get $t|9 local.set $num local.get $offset i32.const 2 i32.sub local.set $offset i32.const 636 - local.get $d1|11 + local.get $d1|10 i32.const 2 i32.shl i32.add @@ -2397,13 +2382,13 @@ i32.shl i32.add i32.load $0 - local.set $digits|13 + local.set $digits|12 local.get $buffer local.get $offset i32.const 1 i32.shl i32.add - local.get $digits|13 + local.get $digits|12 i32.store $0 else local.get $offset @@ -2424,13 +2409,10 @@ end ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) loop $while-continue|0 local.get $offset i32.const 2 i32.ge_u - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -2478,8 +2460,6 @@ (local $b64 i64) (local $b i64) (local $e i32) - (local $6 i32) - (local $7 i32) local.get $base local.set $value local.get $value @@ -2512,8 +2492,6 @@ local.get $num local.get $b i64.ge_u - local.set $6 - local.get $6 if local.get $num local.get $b @@ -2534,8 +2512,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $7 - local.get $7 if local.get $num local.get $b64 @@ -2664,7 +2640,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2735,8 +2710,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/resolve-ternary.debug.wat b/tests/compiler/resolve-ternary.debug.wat index 1cbdf1d1b5..e998259e90 100644 --- a/tests/compiler/resolve-ternary.debug.wat +++ b/tests/compiler/resolve-ternary.debug.wat @@ -176,7 +176,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -188,8 +187,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -436,15 +433,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1491,8 +1485,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1537,8 +1529,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1588,8 +1578,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2288,24 +2276,21 @@ local.get $ptr ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $3 i32) (local $t i32) (local $r i32) (local $d1 i32) (local $d2 i32) (local $digits1 i64) (local $digits2 i64) - (local $t|10 i32) - (local $d1|11 i32) + (local $t|9 i32) + (local $d1|10 i32) (local $digits i32) - (local $digits|13 i32) + (local $digits|12 i32) (local $digit i32) loop $while-continue|0 local.get $num i32.const 10000 i32.ge_u - local.set $3 - local.get $3 if local.get $num i32.const 10000 @@ -2364,19 +2349,19 @@ local.get $num i32.const 100 i32.div_u - local.set $t|10 + local.set $t|9 local.get $num i32.const 100 i32.rem_u - local.set $d1|11 - local.get $t|10 + local.set $d1|10 + local.get $t|9 local.set $num local.get $offset i32.const 2 i32.sub local.set $offset i32.const 636 - local.get $d1|11 + local.get $d1|10 i32.const 2 i32.shl i32.add @@ -2404,13 +2389,13 @@ i32.shl i32.add i32.load $0 - local.set $digits|13 + local.set $digits|12 local.get $buffer local.get $offset i32.const 1 i32.shl i32.add - local.get $digits|13 + local.get $digits|12 i32.store $0 else local.get $offset @@ -2431,13 +2416,10 @@ end ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) loop $while-continue|0 local.get $offset i32.const 2 i32.ge_u - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -2485,8 +2467,6 @@ (local $b64 i64) (local $b i64) (local $e i32) - (local $6 i32) - (local $7 i32) local.get $base local.set $value local.get $value @@ -2519,8 +2499,6 @@ local.get $num local.get $b i64.ge_u - local.set $6 - local.get $6 if local.get $num local.get $b @@ -2541,8 +2519,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $7 - local.get $7 if local.get $num local.get $b64 @@ -2671,7 +2647,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2742,8 +2717,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -2824,32 +2797,28 @@ (local $p2 i64) (local $kappa i32) (local $len i32) - (local $15 i32) (local $d i32) + (local $16 i32) (local $17 i32) - (local $18 i32) (local $tmp i64) - (local $buffer|20 i32) - (local $len|21 i32) - (local $delta|22 i64) + (local $buffer|19 i32) + (local $len|20 i32) + (local $delta|21 i64) (local $rest i64) (local $ten_kappa i64) (local $wp_w i64) (local $lastp i32) (local $digit i32) + (local $d|27 i64) (local $28 i32) - (local $29 i32) - (local $d|30 i64) - (local $31 i32) - (local $buffer|32 i32) - (local $len|33 i32) - (local $delta|34 i64) - (local $rest|35 i64) - (local $ten_kappa|36 i64) - (local $wp_w|37 i64) - (local $lastp|38 i32) - (local $digit|39 i32) - (local $40 i32) + (local $buffer|29 i32) + (local $len|30 i32) + (local $delta|31 i64) + (local $rest|32 i64) + (local $ten_kappa|33 i64) + (local $wp_w|34 i64) + (local $lastp|35 i32) + (local $digit|36 i32) i32.const 0 local.get $mp_exp i32.sub @@ -2886,8 +2855,6 @@ local.get $kappa i32.const 0 i32.gt_s - local.set $15 - local.get $15 if block $break|1 block $case10|1 @@ -2902,44 +2869,44 @@ block $case1|1 block $case0|1 local.get $kappa - local.set $17 - local.get $17 + local.set $16 + local.get $16 i32.const 10 i32.eq br_if $case0|1 - local.get $17 + local.get $16 i32.const 9 i32.eq br_if $case1|1 - local.get $17 + local.get $16 i32.const 8 i32.eq br_if $case2|1 - local.get $17 + local.get $16 i32.const 7 i32.eq br_if $case3|1 - local.get $17 + local.get $16 i32.const 6 i32.eq br_if $case4|1 - local.get $17 + local.get $16 i32.const 5 i32.eq br_if $case5|1 - local.get $17 + local.get $16 i32.const 4 i32.eq br_if $case6|1 - local.get $17 + local.get $16 i32.const 3 i32.eq br_if $case7|1 - local.get $17 + local.get $16 i32.const 2 i32.eq br_if $case8|1 - local.get $17 + local.get $16 i32.const 1 i32.eq br_if $case9|1 @@ -3051,11 +3018,11 @@ if local.get $buffer local.get $len - local.tee $18 + local.tee $17 i32.const 1 i32.add local.set $len - local.get $18 + local.get $17 i32.const 1 i32.shl i32.add @@ -3087,11 +3054,11 @@ i32.add global.set $~lib/util/number/_K local.get $buffer - local.set $buffer|20 + local.set $buffer|19 local.get $len - local.set $len|21 + local.set $len|20 local.get $delta - local.set $delta|22 + local.set $delta|21 local.get $tmp local.set $rest i32.const 3376 @@ -3106,8 +3073,8 @@ local.set $ten_kappa local.get $wp_w_frc local.set $wp_w - local.get $buffer|20 - local.get $len|21 + local.get $buffer|19 + local.get $len|20 i32.const 1 i32.sub i32.const 1 @@ -3122,7 +3089,7 @@ local.get $wp_w i64.lt_u if (result i32) - local.get $delta|22 + local.get $delta|21 local.get $rest i64.sub local.get $ten_kappa @@ -3152,8 +3119,6 @@ else i32.const 0 end - local.set $28 - local.get $28 if local.get $digit i32.const 1 @@ -3177,8 +3142,6 @@ end loop $while-continue|4 i32.const 1 - local.set $29 - local.get $29 if local.get $p2 i64.const 10 @@ -3192,8 +3155,8 @@ local.get $one_exp i64.extend_i32_s i64.shr_u - local.set $d|30 - local.get $d|30 + local.set $d|27 + local.get $d|27 local.get $len i64.extend_i32_s i64.or @@ -3202,16 +3165,16 @@ if local.get $buffer local.get $len - local.tee $31 + local.tee $28 i32.const 1 i32.add local.set $len - local.get $31 + local.get $28 i32.const 1 i32.shl i32.add i32.const 48 - local.get $d|30 + local.get $d|27 i32.wrap_i64 i32.const 65535 i32.and @@ -3246,79 +3209,77 @@ i64.mul local.set $wp_w_frc local.get $buffer - local.set $buffer|32 + local.set $buffer|29 local.get $len - local.set $len|33 + local.set $len|30 local.get $delta - local.set $delta|34 + local.set $delta|31 local.get $p2 - local.set $rest|35 + local.set $rest|32 local.get $one_frc - local.set $ten_kappa|36 + local.set $ten_kappa|33 local.get $wp_w_frc - local.set $wp_w|37 - local.get $buffer|32 - local.get $len|33 + local.set $wp_w|34 + local.get $buffer|29 + local.get $len|30 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $lastp|38 - local.get $lastp|38 + local.set $lastp|35 + local.get $lastp|35 i32.load16_u $0 - local.set $digit|39 + local.set $digit|36 loop $while-continue|6 - local.get $rest|35 - local.get $wp_w|37 + local.get $rest|32 + local.get $wp_w|34 i64.lt_u if (result i32) - local.get $delta|34 - local.get $rest|35 + local.get $delta|31 + local.get $rest|32 i64.sub - local.get $ten_kappa|36 + local.get $ten_kappa|33 i64.ge_u else i32.const 0 end if (result i32) - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.lt_u if (result i32) i32.const 1 else - local.get $wp_w|37 - local.get $rest|35 + local.get $wp_w|34 + local.get $rest|32 i64.sub - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.sub i64.gt_u end else i32.const 0 end - local.set $40 - local.get $40 if - local.get $digit|39 + local.get $digit|36 i32.const 1 i32.sub - local.set $digit|39 - local.get $rest|35 - local.get $ten_kappa|36 + local.set $digit|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.set $rest|35 + local.set $rest|32 br $while-continue|6 end end - local.get $lastp|38 - local.get $digit|39 + local.get $lastp|35 + local.get $digit|36 i32.store16 $0 local.get $len return diff --git a/tests/compiler/resolve-unary.debug.wat b/tests/compiler/resolve-unary.debug.wat index 2bebd1aada..c05a928300 100644 --- a/tests/compiler/resolve-unary.debug.wat +++ b/tests/compiler/resolve-unary.debug.wat @@ -169,7 +169,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -181,8 +180,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -429,15 +426,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1484,8 +1478,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1530,8 +1522,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1581,8 +1571,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2281,24 +2269,21 @@ local.get $ptr ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $3 i32) (local $t i32) (local $r i32) (local $d1 i32) (local $d2 i32) (local $digits1 i64) (local $digits2 i64) - (local $t|10 i32) - (local $d1|11 i32) + (local $t|9 i32) + (local $d1|10 i32) (local $digits i32) - (local $digits|13 i32) + (local $digits|12 i32) (local $digit i32) loop $while-continue|0 local.get $num i32.const 10000 i32.ge_u - local.set $3 - local.get $3 if local.get $num i32.const 10000 @@ -2357,19 +2342,19 @@ local.get $num i32.const 100 i32.div_u - local.set $t|10 + local.set $t|9 local.get $num i32.const 100 i32.rem_u - local.set $d1|11 - local.get $t|10 + local.set $d1|10 + local.get $t|9 local.set $num local.get $offset i32.const 2 i32.sub local.set $offset i32.const 636 - local.get $d1|11 + local.get $d1|10 i32.const 2 i32.shl i32.add @@ -2397,13 +2382,13 @@ i32.shl i32.add i32.load $0 - local.set $digits|13 + local.set $digits|12 local.get $buffer local.get $offset i32.const 1 i32.shl i32.add - local.get $digits|13 + local.get $digits|12 i32.store $0 else local.get $offset @@ -2424,13 +2409,10 @@ end ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) loop $while-continue|0 local.get $offset i32.const 2 i32.ge_u - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -2478,8 +2460,6 @@ (local $b64 i64) (local $b i64) (local $e i32) - (local $6 i32) - (local $7 i32) local.get $base local.set $value local.get $value @@ -2512,8 +2492,6 @@ local.get $num local.get $b i64.ge_u - local.set $6 - local.get $6 if local.get $num local.get $b @@ -2534,8 +2512,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $7 - local.get $7 if local.get $num local.get $b64 @@ -2664,7 +2640,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2735,8 +2710,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/return-unreachable.debug.wat b/tests/compiler/return-unreachable.debug.wat index 55dc7a538f..6c7189ad27 100644 --- a/tests/compiler/return-unreachable.debug.wat +++ b/tests/compiler/return-unreachable.debug.wat @@ -85,7 +85,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -97,8 +96,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -345,15 +342,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1400,8 +1394,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1446,8 +1438,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1497,8 +1487,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/rt/finalize.debug.wat b/tests/compiler/rt/finalize.debug.wat index ec122935be..b810b98332 100644 --- a/tests/compiler/rt/finalize.debug.wat +++ b/tests/compiler/rt/finalize.debug.wat @@ -85,7 +85,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -97,8 +96,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -345,15 +342,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1420,8 +1414,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1466,8 +1458,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1517,8 +1507,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2217,8 +2205,6 @@ local.get $ptr ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2229,8 +2215,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2244,8 +2228,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/rt/runtime-incremental-export.debug.wat b/tests/compiler/rt/runtime-incremental-export.debug.wat index 4a46a4e8fd..b908c8b6ac 100644 --- a/tests/compiler/rt/runtime-incremental-export.debug.wat +++ b/tests/compiler/rt/runtime-incremental-export.debug.wat @@ -88,7 +88,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -100,8 +99,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -348,15 +345,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1403,8 +1397,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1449,8 +1441,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1500,8 +1490,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2267,8 +2255,6 @@ end ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2279,8 +2265,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2294,8 +2278,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/rt/runtime-minimal-export.debug.wat b/tests/compiler/rt/runtime-minimal-export.debug.wat index 3df3a50899..61516b11bb 100644 --- a/tests/compiler/rt/runtime-minimal-export.debug.wat +++ b/tests/compiler/rt/runtime-minimal-export.debug.wat @@ -1773,12 +1773,9 @@ (func $~lib/rt/tcms/__collect (type $none_=>_none) (local $pn i32) (local $iter i32) - (local $2 i32) (local $black i32) (local $to i32) - (local $5 i32) (local $from i32) - (local $7 i32) (local $newNext i32) i32.const 0 drop @@ -1793,8 +1790,6 @@ local.get $iter local.get $pn i32.ne - local.set $2 - local.get $2 if i32.const 1 drop @@ -1834,8 +1829,6 @@ local.get $iter local.get $to i32.ne - local.set $5 - local.get $5 if i32.const 1 drop @@ -1872,8 +1865,6 @@ local.get $iter local.get $from i32.ne - local.set $7 - local.get $7 if i32.const 1 drop diff --git a/tests/compiler/simd.debug.wat b/tests/compiler/simd.debug.wat index c89671deda..1a2caf335b 100644 --- a/tests/compiler/simd.debug.wat +++ b/tests/compiler/simd.debug.wat @@ -120,7 +120,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -132,8 +131,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -380,15 +377,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1435,8 +1429,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1481,8 +1473,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1532,8 +1522,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/std/array-access.debug.wat b/tests/compiler/std/array-access.debug.wat index 0eda98d24d..78d0833ab0 100644 --- a/tests/compiler/std/array-access.debug.wat +++ b/tests/compiler/std/array-access.debug.wat @@ -94,7 +94,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -165,8 +164,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/std/array-literal.debug.wat b/tests/compiler/std/array-literal.debug.wat index dc51d0736e..0e7da47fed 100644 --- a/tests/compiler/std/array-literal.debug.wat +++ b/tests/compiler/std/array-literal.debug.wat @@ -174,7 +174,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -186,8 +185,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -434,15 +431,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1489,8 +1483,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1535,8 +1527,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1586,8 +1576,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2452,8 +2440,6 @@ nop ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2464,8 +2450,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2479,8 +2463,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop @@ -2625,7 +2607,6 @@ (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -2643,8 +2624,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -2682,7 +2661,6 @@ (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -2700,8 +2678,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 diff --git a/tests/compiler/std/array.debug.wat b/tests/compiler/std/array.debug.wat index eb2a677d73..fc37f57c70 100644 --- a/tests/compiler/std/array.debug.wat +++ b/tests/compiler/std/array.debug.wat @@ -425,7 +425,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -437,8 +436,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -685,15 +682,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1740,8 +1734,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1786,8 +1778,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1837,8 +1827,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -4056,7 +4044,6 @@ (local $i i32) (local $tail i32) (local $hlen i32) - (local $5 i32) (local $front i32) (local $back i32) (local $temp i32) @@ -4090,8 +4077,6 @@ local.get $i local.get $hlen i32.lt_u - local.set $5 - local.get $5 if local.get $ptr local.get $i @@ -4138,18 +4123,16 @@ (local $i i32) (local $tail i32) (local $hlen i32) - (local $5 i32) (local $front i32) (local $back i32) + (local $7 i64) (local $8 i64) - (local $9 i64) (local $temp i64) + (local $10 i64) (local $11 i64) - (local $12 i64) - (local $13 i32) - (local $front|14 i32) - (local $back|15 i32) - (local $temp|16 i32) + (local $front|12 i32) + (local $back|13 i32) + (local $temp|14 i32) local.get $len i32.const 1 i32.gt_u @@ -4178,8 +4161,6 @@ i32.add local.get $hlen i32.lt_u - local.set $5 - local.get $5 if local.get $ptr local.get $i @@ -4193,23 +4174,23 @@ local.set $back local.get $front i64.load $0 - local.tee $8 + local.tee $7 i64.const 8 i64.shr_u i64.const 71777214294589695 i64.and - local.get $8 + local.get $7 i64.const 71777214294589695 i64.and i64.const 8 i64.shl i64.or - local.tee $9 + local.tee $8 i64.const 16 i64.shr_u i64.const 281470681808895 i64.and - local.get $9 + local.get $8 i64.const 281470681808895 i64.and i64.const 16 @@ -4221,23 +4202,23 @@ local.get $front local.get $back i64.load $0 - local.tee $11 + local.tee $10 i64.const 8 i64.shr_u i64.const 71777214294589695 i64.and - local.get $11 + local.get $10 i64.const 71777214294589695 i64.and i64.const 8 i64.shl i64.or - local.tee $12 + local.tee $11 i64.const 16 i64.shr_u i64.const 281470681808895 i64.and - local.get $12 + local.get $11 i64.const 281470681808895 i64.and i64.const 16 @@ -4268,15 +4249,13 @@ local.get $i local.get $hlen i32.lt_u - local.set $13 - local.get $13 if local.get $ptr local.get $i i32.const 0 i32.shl i32.add - local.set $front|14 + local.set $front|12 local.get $ptr local.get $tail local.get $i @@ -4284,16 +4263,16 @@ i32.const 0 i32.shl i32.add - local.set $back|15 - local.get $front|14 + local.set $back|13 + local.get $front|12 i32.load8_u $0 - local.set $temp|16 - local.get $front|14 - local.get $back|15 + local.set $temp|14 + local.get $front|12 + local.get $back|13 i32.load8_u $0 i32.store8 $0 - local.get $back|15 - local.get $temp|16 + local.get $back|13 + local.get $temp|14 i32.store8 $0 local.get $i i32.const 1 @@ -4324,14 +4303,12 @@ (local $i i32) (local $tail i32) (local $hlen i32) - (local $5 i32) (local $front i32) (local $back i32) (local $temp i32) - (local $9 i32) - (local $front|10 i32) - (local $back|11 i32) - (local $temp|12 i32) + (local $front|8 i32) + (local $back|9 i32) + (local $temp|10 i32) local.get $len i32.const 1 i32.gt_u @@ -4364,8 +4341,6 @@ i32.add local.get $hlen i32.lt_u - local.set $5 - local.get $5 if local.get $ptr local.get $i @@ -4410,15 +4385,13 @@ local.get $i local.get $hlen i32.lt_u - local.set $9 - local.get $9 if local.get $ptr local.get $i i32.const 1 i32.shl i32.add - local.set $front|10 + local.set $front|8 local.get $ptr local.get $tail local.get $i @@ -4426,16 +4399,16 @@ i32.const 1 i32.shl i32.add - local.set $back|11 - local.get $front|10 + local.set $back|9 + local.get $front|8 i32.load16_u $0 - local.set $temp|12 - local.get $front|10 - local.get $back|11 + local.set $temp|10 + local.get $front|8 + local.get $back|9 i32.load16_u $0 i32.store16 $0 - local.get $back|11 - local.get $temp|12 + local.get $back|9 + local.get $temp|10 i32.store16 $0 local.get $i i32.const 1 @@ -4489,7 +4462,6 @@ (local $4 i32) (local $5 i32) (local $ptr i32) - (local $7 i32) local.get $this call $~lib/array/Array#get:length_ local.set $len @@ -4530,8 +4502,6 @@ local.get $fromIndex local.get $len i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $fromIndex @@ -4559,7 +4529,6 @@ (local $4 i32) (local $5 i32) (local $ptr i32) - (local $7 i32) local.get $this call $~lib/array/Array#get:length_ local.set $len @@ -4600,8 +4569,6 @@ local.get $fromIndex local.get $len i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $fromIndex @@ -4637,7 +4604,6 @@ (local $4 i32) (local $5 i32) (local $ptr i32) - (local $7 i32) local.get $this call $~lib/array/Array#get:length_ local.set $len @@ -4678,8 +4644,6 @@ local.get $fromIndex local.get $len i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $fromIndex @@ -4705,7 +4669,6 @@ (func $~lib/array/Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) (local $len i32) (local $ptr i32) - (local $5 i32) local.get $this call $~lib/array/Array#get:length_ local.set $len @@ -4742,8 +4705,6 @@ local.get $fromIndex i32.const 0 i32.ge_s - local.set $5 - local.get $5 if local.get $ptr local.get $fromIndex @@ -4802,7 +4763,6 @@ (local $4 i32) (local $5 i32) (local $ptr i32) - (local $7 i32) (local $elem f32) i32.const 1 drop @@ -4846,8 +4806,6 @@ local.get $fromIndex local.get $len i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $fromIndex @@ -4889,7 +4847,6 @@ (local $4 i32) (local $5 i32) (local $ptr i32) - (local $7 i32) (local $elem f64) i32.const 1 drop @@ -4933,8 +4890,6 @@ local.get $fromIndex local.get $len i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $fromIndex @@ -5630,24 +5585,21 @@ unreachable ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $3 i32) (local $t i32) (local $r i32) (local $d1 i32) (local $d2 i32) (local $digits1 i64) (local $digits2 i64) - (local $t|10 i32) - (local $d1|11 i32) + (local $t|9 i32) + (local $d1|10 i32) (local $digits i32) - (local $digits|13 i32) + (local $digits|12 i32) (local $digit i32) loop $while-continue|0 local.get $num i32.const 10000 i32.ge_u - local.set $3 - local.get $3 if local.get $num i32.const 10000 @@ -5706,19 +5658,19 @@ local.get $num i32.const 100 i32.div_u - local.set $t|10 + local.set $t|9 local.get $num i32.const 100 i32.rem_u - local.set $d1|11 - local.get $t|10 + local.set $d1|10 + local.get $t|9 local.set $num local.get $offset i32.const 2 i32.sub local.set $offset i32.const 6636 - local.get $d1|11 + local.get $d1|10 i32.const 2 i32.shl i32.add @@ -5746,13 +5698,13 @@ i32.shl i32.add i32.load $0 - local.set $digits|13 + local.set $digits|12 local.get $buffer local.get $offset i32.const 1 i32.shl i32.add - local.get $digits|13 + local.get $digits|12 i32.store $0 else local.get $offset @@ -5773,13 +5725,10 @@ end ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) loop $while-continue|0 local.get $offset i32.const 2 i32.ge_u - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -5827,8 +5776,6 @@ (local $b64 i64) (local $b i64) (local $e i32) - (local $6 i32) - (local $7 i32) local.get $base local.set $value local.get $value @@ -5861,8 +5808,6 @@ local.get $num local.get $b i64.ge_u - local.set $6 - local.get $6 if local.get $num local.get $b @@ -5883,8 +5828,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $7 - local.get $7 if local.get $num local.get $b64 @@ -6504,8 +6447,6 @@ (local $min f32) (local $max f32) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -6582,8 +6523,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -6632,8 +6571,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -6687,11 +6624,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp f32) - (local $9 i32) local.get $i local.get $right i32.eq @@ -6751,8 +6685,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -6767,8 +6699,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -6835,8 +6765,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -7068,19 +6996,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -7297,8 +7224,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -7321,15 +7246,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -7348,16 +7273,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -7370,7 +7295,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -7384,17 +7309,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -7422,29 +7347,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -7456,10 +7381,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -7519,8 +7444,6 @@ (local $min f64) (local $max f64) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -7597,8 +7520,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -7647,8 +7568,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -7702,11 +7621,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp f64) - (local $9 i32) local.get $i local.get $right i32.eq @@ -7766,8 +7682,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -7782,8 +7696,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -7850,8 +7762,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -8033,19 +7943,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -8262,8 +8171,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -8286,15 +8193,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -8313,16 +8220,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -8335,7 +8242,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -8349,17 +8256,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -8387,29 +8294,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -8421,10 +8328,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -8624,8 +8531,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -8702,8 +8607,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -8752,8 +8655,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -8807,11 +8708,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) local.get $i local.get $right i32.eq @@ -8871,8 +8769,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -8887,8 +8783,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8955,8 +8849,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -9138,19 +9030,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -9367,8 +9258,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -9391,15 +9280,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -9418,16 +9307,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -9440,7 +9329,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -9454,17 +9343,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -9492,29 +9381,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -9526,10 +9415,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -9561,8 +9450,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -9639,8 +9526,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -9689,8 +9574,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -9744,11 +9627,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) local.get $i local.get $right i32.eq @@ -9808,8 +9688,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -9824,8 +9702,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -9892,8 +9768,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -10075,19 +9949,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -10304,8 +10177,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -10328,15 +10199,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -10355,16 +10226,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -10377,7 +10248,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -10391,17 +10262,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -10429,29 +10300,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -10463,10 +10334,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -10618,8 +10489,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -10708,8 +10577,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -10760,8 +10627,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -11005,19 +10870,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -11269,8 +11133,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -11293,15 +11155,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -11320,16 +11182,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -11342,7 +11204,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -11356,17 +11218,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -11394,29 +11256,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -11428,10 +11290,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -11582,8 +11444,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -11672,8 +11532,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -11724,8 +11582,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -11969,19 +11825,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -12233,8 +12088,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -12257,15 +12110,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -12284,16 +12137,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -12306,7 +12159,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -12320,17 +12173,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -12358,29 +12211,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -12392,10 +12245,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns<~lib/array/Array> end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -12529,8 +12382,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -12619,8 +12470,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -12671,8 +12520,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -12916,19 +12763,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -13180,8 +13026,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -13204,15 +13048,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -13231,16 +13075,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -13253,7 +13097,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -13267,17 +13111,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -13305,29 +13149,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -13339,10 +13183,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns> end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -13385,8 +13229,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -13475,8 +13317,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -13527,8 +13367,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -13772,19 +13610,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -14036,8 +13873,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -14060,15 +13895,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -14087,16 +13922,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -14109,7 +13944,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -14123,17 +13958,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -14161,29 +13996,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -14195,10 +14030,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns<~lib/string/String|null> end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -14236,7 +14071,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -14307,8 +14141,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -14596,8 +14428,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -14686,8 +14516,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -14738,8 +14566,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -14983,19 +14809,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -15247,8 +15072,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -15271,15 +15094,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -15298,16 +15121,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -15320,7 +15143,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -15334,17 +15157,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -15372,29 +15195,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -15406,10 +15229,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns<~lib/string/String> end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -15782,32 +15605,28 @@ (local $p2 i64) (local $kappa i32) (local $len i32) - (local $15 i32) (local $d i32) + (local $16 i32) (local $17 i32) - (local $18 i32) (local $tmp i64) - (local $buffer|20 i32) - (local $len|21 i32) - (local $delta|22 i64) + (local $buffer|19 i32) + (local $len|20 i32) + (local $delta|21 i64) (local $rest i64) (local $ten_kappa i64) (local $wp_w i64) (local $lastp i32) (local $digit i32) + (local $d|27 i64) (local $28 i32) - (local $29 i32) - (local $d|30 i64) - (local $31 i32) - (local $buffer|32 i32) - (local $len|33 i32) - (local $delta|34 i64) - (local $rest|35 i64) - (local $ten_kappa|36 i64) - (local $wp_w|37 i64) - (local $lastp|38 i32) - (local $digit|39 i32) - (local $40 i32) + (local $buffer|29 i32) + (local $len|30 i32) + (local $delta|31 i64) + (local $rest|32 i64) + (local $ten_kappa|33 i64) + (local $wp_w|34 i64) + (local $lastp|35 i32) + (local $digit|36 i32) i32.const 0 local.get $mp_exp i32.sub @@ -15844,8 +15663,6 @@ local.get $kappa i32.const 0 i32.gt_s - local.set $15 - local.get $15 if block $break|1 block $case10|1 @@ -15860,44 +15677,44 @@ block $case1|1 block $case0|1 local.get $kappa - local.set $17 - local.get $17 + local.set $16 + local.get $16 i32.const 10 i32.eq br_if $case0|1 - local.get $17 + local.get $16 i32.const 9 i32.eq br_if $case1|1 - local.get $17 + local.get $16 i32.const 8 i32.eq br_if $case2|1 - local.get $17 + local.get $16 i32.const 7 i32.eq br_if $case3|1 - local.get $17 + local.get $16 i32.const 6 i32.eq br_if $case4|1 - local.get $17 + local.get $16 i32.const 5 i32.eq br_if $case5|1 - local.get $17 + local.get $16 i32.const 4 i32.eq br_if $case6|1 - local.get $17 + local.get $16 i32.const 3 i32.eq br_if $case7|1 - local.get $17 + local.get $16 i32.const 2 i32.eq br_if $case8|1 - local.get $17 + local.get $16 i32.const 1 i32.eq br_if $case9|1 @@ -16009,11 +15826,11 @@ if local.get $buffer local.get $len - local.tee $18 + local.tee $17 i32.const 1 i32.add local.set $len - local.get $18 + local.get $17 i32.const 1 i32.shl i32.add @@ -16045,11 +15862,11 @@ i32.add global.set $~lib/util/number/_K local.get $buffer - local.set $buffer|20 + local.set $buffer|19 local.get $len - local.set $len|21 + local.set $len|20 local.get $delta - local.set $delta|22 + local.set $delta|21 local.get $tmp local.set $rest i32.const 12304 @@ -16064,8 +15881,8 @@ local.set $ten_kappa local.get $wp_w_frc local.set $wp_w - local.get $buffer|20 - local.get $len|21 + local.get $buffer|19 + local.get $len|20 i32.const 1 i32.sub i32.const 1 @@ -16080,7 +15897,7 @@ local.get $wp_w i64.lt_u if (result i32) - local.get $delta|22 + local.get $delta|21 local.get $rest i64.sub local.get $ten_kappa @@ -16110,8 +15927,6 @@ else i32.const 0 end - local.set $28 - local.get $28 if local.get $digit i32.const 1 @@ -16135,8 +15950,6 @@ end loop $while-continue|4 i32.const 1 - local.set $29 - local.get $29 if local.get $p2 i64.const 10 @@ -16150,8 +15963,8 @@ local.get $one_exp i64.extend_i32_s i64.shr_u - local.set $d|30 - local.get $d|30 + local.set $d|27 + local.get $d|27 local.get $len i64.extend_i32_s i64.or @@ -16160,16 +15973,16 @@ if local.get $buffer local.get $len - local.tee $31 + local.tee $28 i32.const 1 i32.add local.set $len - local.get $31 + local.get $28 i32.const 1 i32.shl i32.add i32.const 48 - local.get $d|30 + local.get $d|27 i32.wrap_i64 i32.const 65535 i32.and @@ -16204,79 +16017,77 @@ i64.mul local.set $wp_w_frc local.get $buffer - local.set $buffer|32 + local.set $buffer|29 local.get $len - local.set $len|33 + local.set $len|30 local.get $delta - local.set $delta|34 + local.set $delta|31 local.get $p2 - local.set $rest|35 + local.set $rest|32 local.get $one_frc - local.set $ten_kappa|36 + local.set $ten_kappa|33 local.get $wp_w_frc - local.set $wp_w|37 - local.get $buffer|32 - local.get $len|33 + local.set $wp_w|34 + local.get $buffer|29 + local.get $len|30 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $lastp|38 - local.get $lastp|38 + local.set $lastp|35 + local.get $lastp|35 i32.load16_u $0 - local.set $digit|39 + local.set $digit|36 loop $while-continue|6 - local.get $rest|35 - local.get $wp_w|37 + local.get $rest|32 + local.get $wp_w|34 i64.lt_u if (result i32) - local.get $delta|34 - local.get $rest|35 + local.get $delta|31 + local.get $rest|32 i64.sub - local.get $ten_kappa|36 + local.get $ten_kappa|33 i64.ge_u else i32.const 0 end if (result i32) - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.lt_u if (result i32) i32.const 1 else - local.get $wp_w|37 - local.get $rest|35 + local.get $wp_w|34 + local.get $rest|32 i64.sub - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.sub i64.gt_u end else i32.const 0 end - local.set $40 - local.get $40 if - local.get $digit|39 + local.get $digit|36 i32.const 1 i32.sub - local.set $digit|39 - local.get $rest|35 - local.get $ten_kappa|36 + local.set $digit|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.set $rest|35 + local.set $rest|32 br $while-continue|6 end end - local.get $lastp|38 - local.get $digit|39 + local.get $lastp|35 + local.get $digit|36 i32.store16 $0 local.get $len return @@ -17750,7 +17561,6 @@ unreachable ) (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) (local $t i64) (local $r i32) (local $b i32) @@ -17765,8 +17575,6 @@ local.get $num i64.const 100000000 i64.ge_u - local.set $3 - local.get $3 if local.get $num i64.const 100000000 @@ -18476,8 +18284,6 @@ local.get $nestedArray ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -18488,8 +18294,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -18503,8 +18307,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop @@ -18684,7 +18486,6 @@ (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -18702,8 +18503,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -18781,7 +18580,6 @@ (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -18799,8 +18597,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -18874,7 +18670,6 @@ (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -18892,8 +18687,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -19021,7 +18814,6 @@ (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -19039,8 +18831,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -19168,7 +18958,6 @@ (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -19186,8 +18975,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -19243,7 +19030,6 @@ (func $~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -19261,8 +19047,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -19318,7 +19102,6 @@ (func $~lib/array/Array<~lib/string/String|null>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -19336,8 +19119,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -19511,7 +19292,6 @@ (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -19529,8 +19309,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -19568,7 +19346,6 @@ (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -19586,8 +19363,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -19625,7 +19400,6 @@ (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -19643,8 +19417,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -19682,7 +19454,6 @@ (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -19700,8 +19471,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -20114,12 +19883,9 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) - (local $10 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -20136,12 +19902,12 @@ i32.eq if local.get $i - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $7 return end local.get $i @@ -20152,11 +19918,11 @@ i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 1 @@ -20166,11 +19932,11 @@ i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -20190,22 +19956,22 @@ i32.shl i32.add i32.load $0 offset=4 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -20216,8 +19982,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -20232,8 +19996,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -20286,22 +20048,22 @@ i32.shl i32.add i32.load $0 offset=4 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -20312,8 +20074,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -20324,12 +20084,12 @@ end end local.get $j - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $7 ) (func $std/array/assertStableSortedForComplexObjects (type $none_=>_none) (local $sorted i32) @@ -20454,12 +20214,9 @@ ) (func $~lib/util/sort/extendRunRight<~lib/array/Array> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) - (local $10 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -20476,12 +20233,12 @@ i32.eq if local.get $i - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $7 return end local.get $i @@ -20492,11 +20249,11 @@ i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 1 @@ -20506,11 +20263,11 @@ i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -20530,22 +20287,22 @@ i32.shl i32.add i32.load $0 offset=4 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -20556,8 +20313,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -20572,8 +20327,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -20626,22 +20379,22 @@ i32.shl i32.add i32.load $0 offset=4 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -20652,8 +20405,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -20664,12 +20415,12 @@ end end local.get $j - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $7 ) (func $std/array/isSorted<~lib/array/Array> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) (local $i i32) @@ -20840,12 +20591,9 @@ ) (func $~lib/util/sort/extendRunRight> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) - (local $10 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -20862,12 +20610,12 @@ i32.eq if local.get $i - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $7 return end local.get $i @@ -20878,11 +20626,11 @@ i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 1 @@ -20892,11 +20640,11 @@ i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -20916,22 +20664,22 @@ i32.shl i32.add i32.load $0 offset=4 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -20942,8 +20690,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -20958,8 +20704,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -21012,22 +20756,22 @@ i32.shl i32.add i32.load $0 offset=4 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -21038,8 +20782,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -21050,12 +20792,12 @@ end end local.get $j - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $7 ) (func $std/array/isSorted> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) (local $i i32) @@ -21168,12 +20910,9 @@ ) (func $~lib/util/sort/extendRunRight<~lib/string/String|null> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) - (local $10 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -21190,12 +20929,12 @@ i32.eq if local.get $i - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $7 return end local.get $i @@ -21206,11 +20945,11 @@ i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 1 @@ -21220,11 +20959,11 @@ i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -21244,22 +20983,22 @@ i32.shl i32.add i32.load $0 offset=4 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -21270,8 +21009,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -21286,8 +21023,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -21340,22 +21075,22 @@ i32.shl i32.add i32.load $0 offset=4 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -21366,8 +21101,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -21378,12 +21111,12 @@ end end local.get $j - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $7 ) (func $std/array/isSorted<~lib/string/String|null> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) (local $i i32) @@ -21727,12 +21460,9 @@ ) (func $~lib/util/sort/extendRunRight<~lib/string/String> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) - (local $10 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -21749,12 +21479,12 @@ i32.eq if local.get $i - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $7 return end local.get $i @@ -21765,11 +21495,11 @@ i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 1 @@ -21779,11 +21509,11 @@ i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -21803,22 +21533,22 @@ i32.shl i32.add i32.load $0 offset=4 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -21829,8 +21559,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -21845,8 +21573,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -21899,22 +21625,22 @@ i32.shl i32.add i32.load $0 offset=4 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 - local.get $10 + local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add i32.load $0 - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $7 i32.store $0 offset=4 - local.get $10 + local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -21925,8 +21651,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -21937,12 +21661,12 @@ end end local.get $j - local.set $10 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $7 ) (func $std/array/isSorted<~lib/string/String> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) (local $i i32) @@ -35218,9 +34942,8 @@ (local $thisBase i32) (local $off i32) (local $end|18 i32) - (local $19 i32) (local $ref i32) - (local $21 i32) + (local $20 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35323,8 +35046,6 @@ local.get $off local.get $end|18 i32.lt_u - local.set $19 - local.get $19 if local.get $thisBase local.get $off @@ -35348,12 +35069,12 @@ end end local.get $slice - local.set $21 + local.set $20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $21 + local.get $20 ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) diff --git a/tests/compiler/std/array.release.wat b/tests/compiler/std/array.release.wat index dc9fd648fb..648cec6a32 100644 --- a/tests/compiler/std/array.release.wat +++ b/tests/compiler/std/array.release.wat @@ -12826,10 +12826,10 @@ i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -12840,23 +12840,23 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $1 + 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 $1 + local.tee $0 i32.store $0 end - local.get $1 + local.get $0 i32.const 0 i32.store $0 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=4 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer @@ -12865,35 +12865,35 @@ call $~lib/rt/itcms/__new local.tee $6 i32.store $0 offset=4 - local.get $1 + local.get $0 local.get $6 i32.store $0 local.get $6 if - local.get $1 + local.get $0 local.get $6 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 + local.get $0 local.get $6 i32.store $0 offset=4 - local.get $1 + local.get $0 i32.const 1 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 + local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 1664 @@ -15687,24 +15687,24 @@ local.get $0 local.get $1 call $~lib/array/Array#reverse - local.tee $0 + local.tee $1 i32.store $0 offset=60 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 loop $for-loop|0 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $0 local.get $1 - call $~lib/array/Array#__get local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#__get local.get $1 + i32.load $0 offset=12 + local.get $0 i32.sub i32.const 1 i32.sub @@ -15717,10 +15717,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 @@ -15738,24 +15738,24 @@ local.get $0 local.get $1 call $~lib/array/Array#reverse - local.tee $0 + local.tee $1 i32.store $0 offset=64 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 loop $for-loop|1 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $0 local.get $1 - call $~lib/array/Array#__get local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#__get local.get $1 + i32.load $0 offset=12 + local.get $0 i32.sub i32.const 1 i32.sub @@ -15768,10 +15768,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 @@ -15789,24 +15789,24 @@ local.get $0 local.get $1 call $~lib/array/Array#reverse - local.tee $0 + local.tee $1 i32.store $0 offset=68 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 loop $for-loop|2 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $0 local.get $1 - call $~lib/array/Array#__get local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#__get local.get $1 + i32.load $0 offset=12 + local.get $0 i32.sub i32.const 1 i32.sub @@ -15819,10 +15819,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 @@ -15840,24 +15840,24 @@ local.get $0 local.get $1 call $~lib/array/Array#reverse - local.tee $0 + local.tee $1 i32.store $0 offset=72 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 loop $for-loop|3 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $0 local.get $1 - call $~lib/array/Array#__get local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#__get local.get $1 + i32.load $0 offset=12 + local.get $0 i32.sub i32.const 1 i32.sub @@ -15870,10 +15870,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 @@ -15891,24 +15891,24 @@ local.get $0 local.get $1 call $~lib/array/Array#reverse - local.tee $0 + local.tee $1 i32.store $0 offset=76 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 loop $for-loop|4 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $0 local.get $1 - call $~lib/array/Array#__get local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#__get local.get $1 + i32.load $0 offset=12 + local.get $0 i32.sub i32.const 1 i32.sub @@ -15921,10 +15921,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 @@ -15942,24 +15942,24 @@ local.get $0 local.get $1 call $~lib/array/Array#reverse - local.tee $0 + local.tee $1 i32.store $0 offset=80 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 loop $for-loop|5 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - local.get $0 local.get $1 - call $~lib/array/Array#__get local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#__get local.get $1 + i32.load $0 offset=12 + local.get $0 i32.sub i32.const 1 i32.sub @@ -15972,10 +15972,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 @@ -15984,9 +15984,9 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $__inlined_func$~lib/array/Array#indexOf local.get $2 i32.load $0 offset=12 @@ -16000,14 +16000,14 @@ local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|06 - local.get $1 + loop $while-continue|085 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add @@ -16015,17 +16015,17 @@ i32.const 44 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|06 + local.set $0 + br $while-continue|085 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i if @@ -16041,10 +16041,10 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf7 + i32.const -1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf86 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -16053,36 +16053,36 @@ i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf7 + br_if $__inlined_func$~lib/array/Array#indexOf86 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|08 - local.get $1 + loop $while-continue|090 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 42 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf7 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf86 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|08 + local.set $0 + br $while-continue|090 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 2 @@ -16100,10 +16100,10 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf9 + i32.const -1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf91 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -16112,36 +16112,36 @@ i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf9 + br_if $__inlined_func$~lib/array/Array#indexOf91 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|010 - local.get $1 + loop $while-continue|095 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 45 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf9 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf91 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|010 + local.set $0 + br $while-continue|095 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -16159,10 +16159,10 @@ local.tee $2 i32.store $0 i32.const 100 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf11 + i32.const -1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf96 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -16171,36 +16171,36 @@ i32.const 100 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf11 + br_if $__inlined_func$~lib/array/Array#indexOf96 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|012 - local.get $1 + loop $while-continue|0100 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf11 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf96 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|012 + local.set $0 + br $while-continue|0100 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -16215,12 +16215,12 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#indexOf13 - local.get $0 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf101 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -16228,45 +16228,45 @@ i32.const -100 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf13 + br_if $__inlined_func$~lib/array/Array#indexOf101 local.get $2 i32.const 100 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.set $1 - local.get $0 - i32.load $0 offset=4 local.set $0 - loop $while-continue|014 - local.get $1 + local.get $1 + i32.load $0 offset=4 + local.set $1 + loop $while-continue|0105 + local.get $0 local.get $2 i32.lt_s if - local.get $0 local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf13 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf101 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|014 + local.set $0 + br $while-continue|0105 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -16281,12 +16281,12 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#indexOf15 - local.get $0 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf106 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -16294,45 +16294,45 @@ i32.const -2 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf15 + br_if $__inlined_func$~lib/array/Array#indexOf106 local.get $2 i32.const 2 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.set $1 - local.get $0 - i32.load $0 offset=4 local.set $0 - loop $while-continue|016 - local.get $1 - local.get $2 - i32.lt_s + local.get $1 + i32.load $0 offset=4 + local.set $1 + loop $while-continue|0110 + local.get $0 + local.get $2 + i32.lt_s if - local.get $0 local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf15 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf106 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|016 + local.set $0 + br $while-continue|0110 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 3 @@ -16347,12 +16347,12 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#indexOf17 - local.get $0 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf111 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -16360,45 +16360,45 @@ i32.const -4 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf17 + br_if $__inlined_func$~lib/array/Array#indexOf111 local.get $2 i32.const 4 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.set $1 - local.get $0 - i32.load $0 offset=4 local.set $0 - loop $while-continue|018 - local.get $1 + local.get $1 + i32.load $0 offset=4 + local.set $1 + loop $while-continue|0115 + local.get $0 local.get $2 i32.lt_s if - local.get $0 local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf17 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf111 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|018 + local.set $0 + br $while-continue|0115 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -16416,10 +16416,10 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf19 + i32.const -1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf116 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -16428,36 +16428,36 @@ i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf19 + br_if $__inlined_func$~lib/array/Array#indexOf116 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|020 - local.get $1 + loop $while-continue|0120 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf19 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf116 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|020 + local.set $0 + br $while-continue|0120 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -16475,10 +16475,10 @@ local.tee $2 i32.store $0 i32.const 1 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf21 + i32.const -1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf121 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -16487,36 +16487,36 @@ i32.const 1 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf21 + br_if $__inlined_func$~lib/array/Array#indexOf121 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|022 - local.get $1 + loop $while-continue|0125 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf21 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf121 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|022 + local.set $0 + br $while-continue|0125 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -16534,10 +16534,10 @@ local.tee $2 i32.store $0 i32.const 2 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf23 + i32.const -1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf126 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -16546,36 +16546,36 @@ i32.const 2 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf23 + br_if $__inlined_func$~lib/array/Array#indexOf126 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|024 - local.get $1 + loop $while-continue|0130 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf23 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf126 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|024 + local.set $0 + br $while-continue|0130 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 3 @@ -16598,9 +16598,9 @@ local.get $2 i32.store $0 i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $__inlined_func$~lib/array/Array#indexOf local.get $2 i32.load $0 offset=12 @@ -16614,14 +16614,14 @@ local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|085 - local.get $1 + loop $while-continue|0134 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add @@ -16629,17 +16629,17 @@ f32.const nan:0x400000 f32.eq br_if $__inlined_func$~lib/array/Array#indexOf - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|085 + local.set $0 + br $while-continue|0134 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -16660,9 +16660,9 @@ local.get $2 i32.store $0 i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $__inlined_func$~lib/array/Array#indexOf local.get $2 i32.load $0 offset=12 @@ -16676,14 +16676,14 @@ local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|089 - local.get $1 + loop $while-continue|0138 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl i32.add @@ -16691,17 +16691,17 @@ f64.const nan:0x8000000000000 f64.eq br_if $__inlined_func$~lib/array/Array#indexOf - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|089 + local.set $0 + br $while-continue|0138 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -16718,14 +16718,14 @@ i32.const 4 i32.const 4528 call $~lib/rt/__newArray - local.tee $1 + local.tee $0 i32.store $0 offset=84 i32.const 1 global.set $~argumentsLength i32.const -1 - local.set $0 + local.set $1 block $__inlined_func$~lib/array/Array#lastIndexOf - local.get $1 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -16740,17 +16740,17 @@ i32.const 0 i32.lt_s select - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=4 local.set $2 - loop $while-continue|025 - local.get $0 + loop $while-continue|06 + local.get $1 i32.const 0 i32.ge_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -16758,17 +16758,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $while-continue|025 + local.set $1 + br $while-continue|06 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -16782,13 +16782,13 @@ i32.const 1 global.set $~argumentsLength i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#lastIndexOf30 - local.get $1 + local.set $1 + block $__inlined_func$~lib/array/Array#lastIndexOf11 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf30 + br_if $__inlined_func$~lib/array/Array#lastIndexOf11 local.get $2 local.get $2 i32.add @@ -16799,35 +16799,35 @@ i32.const 0 i32.lt_s select - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=4 local.set $2 - loop $while-continue|031 - local.get $0 + loop $while-continue|012 + local.get $1 i32.const 0 i32.ge_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 7 i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf30 - local.get $0 + br_if $__inlined_func$~lib/array/Array#lastIndexOf11 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $while-continue|031 + local.set $1 + br $while-continue|012 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -16839,13 +16839,13 @@ unreachable end i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#lastIndexOf32 - local.get $1 + local.set $1 + block $__inlined_func$~lib/array/Array#lastIndexOf13 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf32 + br_if $__inlined_func$~lib/array/Array#lastIndexOf13 i32.const 3 local.get $2 i32.const 1 @@ -16854,35 +16854,35 @@ i32.const 3 i32.gt_s select - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=4 local.set $2 - loop $while-continue|093 - local.get $0 + loop $while-continue|0142 + local.get $1 i32.const 0 i32.ge_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf32 - local.get $0 + br_if $__inlined_func$~lib/array/Array#lastIndexOf13 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $while-continue|093 + local.set $1 + br $while-continue|0142 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -16894,13 +16894,13 @@ unreachable end i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#lastIndexOf94 - local.get $1 + local.set $1 + block $__inlined_func$~lib/array/Array#lastIndexOf143 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf94 + br_if $__inlined_func$~lib/array/Array#lastIndexOf143 i32.const 2 local.get $2 i32.const 1 @@ -16909,35 +16909,35 @@ i32.const 2 i32.gt_s select - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=4 local.set $2 - loop $while-continue|098 - local.get $0 + loop $while-continue|0147 + local.get $1 i32.const 0 i32.ge_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf94 - local.get $0 + br_if $__inlined_func$~lib/array/Array#lastIndexOf143 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $while-continue|098 + local.set $1 + br $while-continue|0147 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1552 @@ -16947,45 +16947,45 @@ unreachable end i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#lastIndexOf99 - local.get $1 + local.set $1 + block $__inlined_func$~lib/array/Array#lastIndexOf148 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf99 + br_if $__inlined_func$~lib/array/Array#lastIndexOf148 local.get $2 i32.const 2 i32.sub - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=4 local.set $2 - loop $while-continue|0103 - local.get $0 + loop $while-continue|0152 + local.get $1 i32.const 0 i32.ge_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf99 - local.get $0 + br_if $__inlined_func$~lib/array/Array#lastIndexOf148 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $while-continue|0103 + local.set $1 + br $while-continue|0152 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if i32.const 0 i32.const 1552 @@ -16995,45 +16995,45 @@ unreachable end i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#lastIndexOf104 - local.get $1 + local.set $1 + block $__inlined_func$~lib/array/Array#lastIndexOf153 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf104 + br_if $__inlined_func$~lib/array/Array#lastIndexOf153 local.get $2 i32.const 1 i32.sub - local.set $0 - local.get $1 - i32.load $0 offset=4 local.set $1 - loop $while-continue|0108 - local.get $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0157 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf104 - local.get $0 + br_if $__inlined_func$~lib/array/Array#lastIndexOf153 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $while-continue|0108 + local.set $1 + br $while-continue|0157 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 3 i32.ne if @@ -17049,10 +17049,10 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf33 + i32.const -1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf158 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -17061,36 +17061,36 @@ i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf33 + br_if $__inlined_func$~lib/array/Array#indexOf158 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|034 - local.get $1 + loop $while-continue|0162 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 44 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf33 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf158 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|034 + local.set $0 + br $while-continue|0162 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -17106,10 +17106,10 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf35 + i32.const -1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf163 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -17118,36 +17118,36 @@ i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf35 + br_if $__inlined_func$~lib/array/Array#indexOf163 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|036 - local.get $1 + loop $while-continue|0167 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 42 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf35 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf163 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|036 + local.set $0 + br $while-continue|0167 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -17163,10 +17163,10 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf37 + i32.const -1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf168 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -17175,36 +17175,36 @@ i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf37 + br_if $__inlined_func$~lib/array/Array#indexOf168 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|038 - local.get $1 + loop $while-continue|0172 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 45 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf37 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf168 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|038 + local.set $0 + br $while-continue|0172 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 0 i32.ge_s if @@ -17220,10 +17220,10 @@ local.tee $2 i32.store $0 i32.const 100 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf39 + i32.const -1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf173 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -17232,36 +17232,36 @@ i32.const 100 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf39 + br_if $__inlined_func$~lib/array/Array#indexOf173 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|040 - local.get $1 + loop $while-continue|0177 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf39 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf173 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|040 + local.set $0 + br $while-continue|0177 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 0 i32.ge_s if @@ -17274,12 +17274,12 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#indexOf41 - local.get $0 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf178 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -17287,45 +17287,45 @@ i32.const -100 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf41 + br_if $__inlined_func$~lib/array/Array#indexOf178 local.get $2 i32.const 100 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.set $1 - local.get $0 - i32.load $0 offset=4 local.set $0 - loop $while-continue|042 - local.get $1 + local.get $1 + i32.load $0 offset=4 + local.set $1 + loop $while-continue|0182 + local.get $0 local.get $2 i32.lt_s if - local.get $0 local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf41 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf178 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|042 + local.set $0 + br $while-continue|0182 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -17338,12 +17338,12 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#indexOf43 - local.get $0 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf183 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -17351,45 +17351,45 @@ i32.const -2 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf43 + br_if $__inlined_func$~lib/array/Array#indexOf183 local.get $2 i32.const 2 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.set $1 - local.get $0 - i32.load $0 offset=4 local.set $0 - loop $while-continue|044 - local.get $1 + local.get $1 + i32.load $0 offset=4 + local.set $1 + loop $while-continue|0187 + local.get $0 local.get $2 i32.lt_s if - local.get $0 local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf43 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf183 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|044 + local.set $0 + br $while-continue|0187 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -17402,12 +17402,12 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#indexOf45 - local.get $0 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf188 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -17415,45 +17415,45 @@ i32.const -4 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf45 + br_if $__inlined_func$~lib/array/Array#indexOf188 local.get $2 i32.const 4 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select - local.set $1 - local.get $0 - i32.load $0 offset=4 local.set $0 - loop $while-continue|046 - local.get $1 + local.get $1 + i32.load $0 offset=4 + local.set $1 + loop $while-continue|0192 + local.get $0 local.get $2 i32.lt_s if - local.get $0 local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf45 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf188 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|046 + local.set $0 + br $while-continue|0192 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -17469,10 +17469,10 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf47 + i32.const -1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf193 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -17481,36 +17481,36 @@ i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf47 + br_if $__inlined_func$~lib/array/Array#indexOf193 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|048 - local.get $1 + loop $while-continue|0197 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf47 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf193 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|048 + local.set $0 + br $while-continue|0197 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -17526,10 +17526,10 @@ local.tee $2 i32.store $0 i32.const 1 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf49 + i32.const -1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf198 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -17538,36 +17538,36 @@ i32.const 1 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf49 + br_if $__inlined_func$~lib/array/Array#indexOf198 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|050 - local.get $1 + loop $while-continue|0202 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf49 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf198 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|050 + local.set $0 + br $while-continue|0202 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -17583,10 +17583,10 @@ local.tee $2 i32.store $0 i32.const 2 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf51 + i32.const -1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf203 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -17595,36 +17595,36 @@ i32.const 2 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf51 + br_if $__inlined_func$~lib/array/Array#indexOf203 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|052 - local.get $1 + loop $while-continue|0207 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf51 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf203 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|052 + local.set $0 + br $while-continue|0207 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -17641,14 +17641,14 @@ i32.const 9 i32.const 4576 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 i32.const 0 - local.set $1 + local.set $0 i32.const 0 - local.get $0 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -17658,17 +17658,17 @@ i32.or br_if $__inlined_func$~lib/array/Array#includes drop - local.get $0 + local.get $1 i32.load $0 offset=4 - local.set $0 - loop $while-continue|0112 - local.get $1 + local.set $1 + loop $while-continue|0211 + local.get $0 local.get $2 i32.lt_s if i32.const 1 - local.get $0 local.get $1 + local.get $0 i32.const 2 i32.shl i32.add @@ -17678,11 +17678,11 @@ f32.ne br_if $__inlined_func$~lib/array/Array#includes drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|0112 + local.set $0 + br $while-continue|0211 end end i32.const 0 @@ -17702,14 +17702,14 @@ i32.const 12 i32.const 4608 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 i32.const 0 - local.set $1 + local.set $0 i32.const 0 - local.get $0 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -17719,17 +17719,17 @@ i32.or br_if $__inlined_func$~lib/array/Array#includes drop - local.get $0 + local.get $1 i32.load $0 offset=4 - local.set $0 - loop $while-continue|0116 - local.get $1 + local.set $1 + loop $while-continue|0215 + local.get $0 local.get $2 i32.lt_s if i32.const 1 - local.get $0 local.get $1 + local.get $0 i32.const 3 i32.shl i32.add @@ -17739,11 +17739,11 @@ f64.ne br_if $__inlined_func$~lib/array/Array#includes drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|0116 + local.set $0 + br $while-continue|0215 end end i32.const 0 @@ -19125,21 +19125,21 @@ call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 6608 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 block $__inlined_func$~lib/array/Array#findIndex - loop $for-loop|0138 - local.get $1 - local.get $2 + loop $for-loop|0237 local.get $0 + local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 local.get $2 @@ -19148,9 +19148,9 @@ select i32.lt_s if - local.get $0 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -19159,23 +19159,23 @@ i32.const 3 global.set $~argumentsLength local.get $6 - local.get $1 local.get $0 + local.get $1 i32.const 6608 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0138 + local.set $0 + br $for-loop|0237 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i if @@ -19189,32 +19189,32 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 6640 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 local.set $0 - block $__inlined_func$~lib/array/Array#findIndex141 - loop $for-loop|0144 - local.get $1 + local.get $1 + i32.load $0 offset=12 + local.set $2 + block $__inlined_func$~lib/array/Array#findIndex240 + loop $for-loop|0243 local.get $0 local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $2 local.get $6 i32.lt_s select i32.lt_s if - local.get $2 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -19223,23 +19223,23 @@ i32.const 3 global.set $~argumentsLength local.get $6 + local.get $0 local.get $1 - local.get $2 i32.const 6640 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex141 - local.get $1 + br_if $__inlined_func$~lib/array/Array#findIndex240 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0144 + local.set $0 + br $for-loop|0243 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -19255,32 +19255,32 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 6672 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 local.set $0 - block $__inlined_func$~lib/array/Array#findIndex148 - loop $for-loop|0151 - local.get $1 + local.get $1 + i32.load $0 offset=12 + local.set $2 + block $__inlined_func$~lib/array/Array#findIndex247 + loop $for-loop|0250 local.get $0 local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $2 local.get $6 i32.lt_s select i32.lt_s if - local.get $2 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -19289,23 +19289,23 @@ i32.const 3 global.set $~argumentsLength local.get $6 + local.get $0 local.get $1 - local.get $2 i32.const 6672 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex148 - local.get $1 + br_if $__inlined_func$~lib/array/Array#findIndex247 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0151 + local.set $0 + br $for-loop|0250 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -19321,32 +19321,32 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 6704 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 local.set $0 - block $__inlined_func$~lib/array/Array#findIndex155 - loop $for-loop|0158 - local.get $1 + local.get $1 + i32.load $0 offset=12 + local.set $2 + block $__inlined_func$~lib/array/Array#findIndex254 + loop $for-loop|0257 local.get $0 local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $2 local.get $6 i32.lt_s select i32.lt_s if - local.get $2 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -19355,23 +19355,23 @@ i32.const 3 global.set $~argumentsLength local.get $6 + local.get $0 local.get $1 - local.get $2 i32.const 6704 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex155 - local.get $1 + br_if $__inlined_func$~lib/array/Array#findIndex254 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0158 + local.set $0 + br $for-loop|0257 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -19403,32 +19403,32 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 6736 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 local.set $0 - block $__inlined_func$~lib/array/Array#findIndex164 - loop $for-loop|0167 - local.get $1 + local.get $1 + i32.load $0 offset=12 + local.set $2 + block $__inlined_func$~lib/array/Array#findIndex263 + loop $for-loop|0266 local.get $0 local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $2 local.get $6 i32.lt_s select i32.lt_s if - local.get $2 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -19437,23 +19437,23 @@ i32.const 3 global.set $~argumentsLength local.get $6 + local.get $0 local.get $1 - local.get $2 i32.const 6736 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex164 - local.get $1 + br_if $__inlined_func$~lib/array/Array#findIndex263 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0167 + local.set $0 + br $for-loop|0266 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -19496,21 +19496,21 @@ drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 6768 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 - block $__inlined_func$~lib/array/Array#findIndex171 - loop $for-loop|0174 - local.get $1 - local.get $2 + block $__inlined_func$~lib/array/Array#findIndex270 + loop $for-loop|0273 local.get $0 + local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 local.get $2 @@ -19519,9 +19519,9 @@ select i32.lt_s if - local.get $0 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -19530,23 +19530,23 @@ i32.const 3 global.set $~argumentsLength local.get $6 - local.get $1 local.get $0 + local.get $1 i32.const 6768 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex171 - local.get $1 + br_if $__inlined_func$~lib/array/Array#findIndex270 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0174 + local.set $0 + br $for-loop|0273 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -19595,25 +19595,25 @@ i32.const 4 i32.const 6800 call $~lib/rt/__newArray - local.tee $0 + local.tee $1 i32.store $0 offset=132 global.get $~lib/memory/__stack_pointer i32.const 6848 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#findLastIndex - loop $for-loop|0182 - local.get $1 + loop $for-loop|0281 + local.get $0 i32.const 0 i32.ge_s if - local.get $0 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -19622,23 +19622,23 @@ i32.const 3 global.set $~argumentsLength local.get $2 - local.get $1 local.get $0 + local.get $1 i32.const 6848 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findLastIndex - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $for-loop|0182 + local.set $0 + br $for-loop|0281 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i if @@ -19652,20 +19652,20 @@ global.get $~lib/memory/__stack_pointer i32.const 6880 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $1 - block $__inlined_func$~lib/array/Array#findLastIndex185 - loop $for-loop|0188 - local.get $1 + local.set $0 + block $__inlined_func$~lib/array/Array#findLastIndex284 + loop $for-loop|0287 + local.get $0 i32.const 0 i32.ge_s if - local.get $0 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -19674,23 +19674,23 @@ i32.const 3 global.set $~argumentsLength local.get $2 - local.get $1 local.get $0 + local.get $1 i32.const 6880 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findLastIndex185 - local.get $1 + br_if $__inlined_func$~lib/array/Array#findLastIndex284 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $for-loop|0188 + local.set $0 + br $for-loop|0287 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -19706,20 +19706,20 @@ global.get $~lib/memory/__stack_pointer i32.const 6912 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $1 - block $__inlined_func$~lib/array/Array#findLastIndex191 - loop $for-loop|0194 - local.get $1 + local.set $0 + block $__inlined_func$~lib/array/Array#findLastIndex290 + loop $for-loop|0293 + local.get $0 i32.const 0 i32.ge_s if - local.get $0 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -19728,23 +19728,23 @@ i32.const 3 global.set $~argumentsLength local.get $2 - local.get $1 local.get $0 + local.get $1 i32.const 6912 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findLastIndex191 - local.get $1 + br_if $__inlined_func$~lib/array/Array#findLastIndex290 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $for-loop|0194 + local.set $0 + br $for-loop|0293 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -19760,20 +19760,20 @@ global.get $~lib/memory/__stack_pointer i32.const 6944 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.load $0 offset=12 i32.const 1 - i32.sub - local.set $1 - block $__inlined_func$~lib/array/Array#findLastIndex197 - loop $for-loop|0200 - local.get $1 + i32.sub + local.set $0 + block $__inlined_func$~lib/array/Array#findLastIndex296 + loop $for-loop|0299 + local.get $0 i32.const 0 i32.ge_s if - local.get $0 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -19782,23 +19782,23 @@ i32.const 3 global.set $~argumentsLength local.get $2 - local.get $1 local.get $0 + local.get $1 i32.const 6944 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findLastIndex197 - local.get $1 + br_if $__inlined_func$~lib/array/Array#findLastIndex296 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $for-loop|0200 + local.set $0 + br $for-loop|0299 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -19815,31 +19815,31 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 6976 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 local.set $0 - loop $for-loop|0205 - local.get $1 + local.get $1 + i32.load $0 offset=12 + local.set $2 + loop $for-loop|0304 local.get $0 local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $2 local.get $6 i32.lt_s select i32.lt_s if - local.get $2 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -19849,19 +19849,19 @@ global.set $~argumentsLength i32.const 0 local.get $6 + local.get $0 local.get $1 - local.get $2 i32.const 6976 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $__inlined_func$~lib/array/Array#every drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0205 + local.set $0 + br $for-loop|0304 end end i32.const 1 @@ -19875,35 +19875,35 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#every209 (result i32) + block $__inlined_func$~lib/array/Array#every308 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 7008 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 local.set $0 - loop $for-loop|0212 - local.get $1 + local.get $1 + i32.load $0 offset=12 + local.set $2 + loop $for-loop|0311 local.get $0 local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $2 local.get $6 i32.lt_s select i32.lt_s if - local.get $2 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -19913,19 +19913,19 @@ global.set $~argumentsLength i32.const 0 local.get $6 + local.get $0 local.get $1 - local.get $2 i32.const 7008 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/array/Array#every209 + br_if $__inlined_func$~lib/array/Array#every308 drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0212 + local.set $0 + br $for-loop|0311 end end i32.const 1 @@ -19938,35 +19938,35 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#every216 (result i32) + block $__inlined_func$~lib/array/Array#every315 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 7040 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 local.set $0 - loop $for-loop|0219 - local.get $1 + local.get $1 + i32.load $0 offset=12 + local.set $2 + loop $for-loop|0318 local.get $0 local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $2 local.get $6 i32.lt_s select i32.lt_s if - local.get $2 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -19976,19 +19976,19 @@ global.set $~argumentsLength i32.const 0 local.get $6 + local.get $0 local.get $1 - local.get $2 i32.const 7040 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/array/Array#every216 + br_if $__inlined_func$~lib/array/Array#every315 drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0219 + local.set $0 + br $for-loop|0318 end end i32.const 1 @@ -20018,35 +20018,35 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#every225 (result i32) + block $__inlined_func$~lib/array/Array#every324 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 7072 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 local.set $0 - loop $for-loop|0228 - local.get $1 + local.get $1 + i32.load $0 offset=12 + local.set $2 + loop $for-loop|0327 local.get $0 local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $2 local.get $6 i32.lt_s select i32.lt_s if - local.get $2 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -20056,19 +20056,19 @@ global.set $~argumentsLength i32.const 0 local.get $6 + local.get $0 local.get $1 - local.get $2 i32.const 7072 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/array/Array#every225 + br_if $__inlined_func$~lib/array/Array#every324 drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0228 + local.set $0 + br $for-loop|0327 end end i32.const 1 @@ -20109,23 +20109,23 @@ local.get $0 call $~lib/array/Array#pop drop - block $__inlined_func$~lib/array/Array#every232 (result i32) + block $__inlined_func$~lib/array/Array#every331 (result i32) global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 7104 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0235 - local.get $1 - local.get $2 + loop $for-loop|0334 local.get $0 + local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 local.get $2 @@ -20134,9 +20134,9 @@ select i32.lt_s if - local.get $0 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -20146,19 +20146,19 @@ global.set $~argumentsLength i32.const 0 local.get $6 - local.get $1 local.get $0 + local.get $1 i32.const 7104 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/array/Array#every232 + br_if $__inlined_func$~lib/array/Array#every331 drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0235 + local.set $0 + br $for-loop|0334 end end i32.const 1 @@ -20205,20 +20205,20 @@ block $__inlined_func$~lib/array/Array#some (result i32) global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 7136 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0243 - local.get $1 - local.get $2 + loop $for-loop|0342 local.get $0 + local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 local.get $2 @@ -20227,9 +20227,9 @@ select i32.lt_s if - local.get $0 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -20239,18 +20239,18 @@ global.set $~argumentsLength i32.const 1 local.get $6 - local.get $1 local.get $0 + local.get $1 i32.const 7136 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0243 + local.set $0 + br $for-loop|0342 end end i32.const 0 @@ -20264,35 +20264,35 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#some247 (result i32) + block $__inlined_func$~lib/array/Array#some346 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 7168 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 local.set $0 - loop $for-loop|0250 - local.get $1 + local.get $1 + i32.load $0 offset=12 + local.set $2 + loop $for-loop|0349 local.get $0 local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $2 local.get $6 i32.lt_s select i32.lt_s if - local.get $2 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -20302,18 +20302,18 @@ global.set $~argumentsLength i32.const 1 local.get $6 + local.get $0 local.get $1 - local.get $2 i32.const 7168 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some247 + br_if $__inlined_func$~lib/array/Array#some346 drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0250 + local.set $0 + br $for-loop|0349 end end i32.const 0 @@ -20326,35 +20326,35 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#some254 (result i32) + block $__inlined_func$~lib/array/Array#some353 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 7200 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 local.set $0 - loop $for-loop|0257 - local.get $1 + local.get $1 + i32.load $0 offset=12 + local.set $2 + loop $for-loop|0356 local.get $0 local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $2 local.get $6 i32.lt_s select i32.lt_s if - local.get $2 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -20364,18 +20364,18 @@ global.set $~argumentsLength i32.const 1 local.get $6 + local.get $0 local.get $1 - local.get $2 i32.const 7200 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some254 + br_if $__inlined_func$~lib/array/Array#some353 drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0257 + local.set $0 + br $for-loop|0356 end end i32.const 0 @@ -20404,35 +20404,35 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#some263 (result i32) + block $__inlined_func$~lib/array/Array#some362 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 7232 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 local.set $0 - loop $for-loop|0266 - local.get $1 + local.get $1 + i32.load $0 offset=12 + local.set $2 + loop $for-loop|0365 local.get $0 local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $2 local.get $6 i32.lt_s select i32.lt_s if - local.get $2 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -20442,18 +20442,18 @@ global.set $~argumentsLength i32.const 1 local.get $6 + local.get $0 local.get $1 - local.get $2 i32.const 7232 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some263 + br_if $__inlined_func$~lib/array/Array#some362 drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0266 + local.set $0 + br $for-loop|0365 end end i32.const 0 @@ -20495,23 +20495,23 @@ local.get $0 call $~lib/array/Array#pop drop - block $__inlined_func$~lib/array/Array#some270 (result i32) + block $__inlined_func$~lib/array/Array#some369 (result i32) global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 7264 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0273 - local.get $1 - local.get $2 + loop $for-loop|0372 local.get $0 + local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 local.get $2 @@ -20520,9 +20520,9 @@ select i32.lt_s if - local.get $0 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -20532,18 +20532,18 @@ global.set $~argumentsLength i32.const 1 local.get $6 - local.get $1 local.get $0 + local.get $1 i32.const 7264 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some270 + br_if $__inlined_func$~lib/array/Array#some369 drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0273 + local.set $0 + br $for-loop|0372 end end i32.const 0 @@ -20590,20 +20590,20 @@ global.set $std/array/i global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 7296 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0281 - local.get $1 - local.get $2 + loop $for-loop|0380 local.get $0 + local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 local.get $2 @@ -20612,9 +20612,9 @@ select i32.lt_s if - local.get $0 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -20623,16 +20623,16 @@ i32.const 3 global.set $~argumentsLength local.get $6 - local.get $1 local.get $0 + local.get $1 i32.const 7296 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0281 + local.set $0 + br $for-loop|0380 end end global.get $std/array/i @@ -20651,31 +20651,31 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 7328 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 local.set $0 - loop $for-loop|0288 - local.get $1 + local.get $1 + i32.load $0 offset=12 + local.set $2 + loop $for-loop|0387 local.get $0 local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $2 local.get $6 i32.lt_s select i32.lt_s if - local.get $2 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -20684,16 +20684,16 @@ i32.const 3 global.set $~argumentsLength local.get $6 + local.get $0 local.get $1 - local.get $2 i32.const 7328 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0288 + local.set $0 + br $for-loop|0387 end end global.get $std/array/i @@ -20728,31 +20728,31 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 7360 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 local.set $0 - loop $for-loop|0297 - local.get $1 + local.get $1 + i32.load $0 offset=12 + local.set $2 + loop $for-loop|0396 local.get $0 local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $2 local.get $6 i32.lt_s select i32.lt_s if - local.get $2 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -20761,16 +20761,16 @@ i32.const 3 global.set $~argumentsLength local.get $6 + local.get $0 local.get $1 - local.get $2 i32.const 7360 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0297 + local.set $0 + br $for-loop|0396 end end global.get $std/array/i @@ -20816,20 +20816,20 @@ global.set $std/array/i global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 7392 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0304 - local.get $1 - local.get $2 + loop $for-loop|0403 local.get $0 + local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 local.get $2 @@ -20838,9 +20838,9 @@ select i32.lt_s if - local.get $0 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -20849,16 +20849,16 @@ i32.const 3 global.set $~argumentsLength local.get $6 - local.get $1 local.get $0 + local.get $1 i32.const 7392 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0304 + local.set $0 + br $for-loop|0403 end end global.get $std/array/i @@ -20904,20 +20904,20 @@ call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 7424 i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0313 - local.get $1 - local.get $2 + loop $for-loop|0412 local.get $0 + local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $6 local.get $2 @@ -20926,9 +20926,9 @@ select i32.lt_s if - local.get $0 - i32.load $0 offset=4 local.get $1 + i32.load $0 offset=4 + local.get $0 i32.const 2 i32.shl i32.add @@ -20937,16 +20937,16 @@ i32.const 3 global.set $~argumentsLength local.get $6 - local.get $1 local.get $0 + local.get $1 i32.const 7424 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0313 + local.set $0 + br $for-loop|0412 end end global.get $~lib/memory/__stack_pointer @@ -21015,7 +21015,7 @@ i32.const 3 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $2 @@ -21032,10 +21032,10 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -21049,9 +21049,9 @@ i32.load $0 offset=4 local.set $8 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|019 - local.get $0 + local.get $1 local.get $6 local.get $2 i32.load $0 offset=12 @@ -21062,7 +21062,7 @@ select i32.lt_s if - local.get $0 + local.get $1 i32.const 2 i32.shl local.tee $9 @@ -21075,7 +21075,7 @@ global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $10 - local.get $0 + local.get $1 local.get $2 i32.const 9232 i32.load $0 @@ -21094,10 +21094,10 @@ i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|019 end end @@ -21105,11 +21105,11 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 local.get $7 i32.store $0 offset=136 global.get $~lib/memory/__stack_pointer - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $2 @@ -21126,10 +21126,10 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store $0 - local.get $0 + local.get $1 local.get $2 i32.load $0 offset=12 local.tee $6 @@ -21143,9 +21143,9 @@ i32.load $0 offset=4 local.set $8 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|022 - local.get $0 + local.get $1 local.get $6 local.get $2 i32.load $0 offset=12 @@ -21156,7 +21156,7 @@ select i32.lt_s if - local.get $0 + local.get $1 i32.const 2 i32.shl local.tee $9 @@ -21171,16 +21171,16 @@ local.get $9 i32.add local.get $10 - local.get $0 + local.get $1 local.get $2 i32.const 9264 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_f32) f32.store $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|022 end end @@ -21188,7 +21188,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 local.get $7 i32.store $0 offset=140 local.get $7 @@ -21545,22 +21545,22 @@ call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 9520 i32.store $0 offset=8 i32.const 0 - local.set $0 + local.set $1 i32.const 0 local.set $2 - local.get $1 + local.get $0 i32.load $0 offset=12 local.set $6 - loop $for-loop|0343 + loop $for-loop|0442 local.get $2 local.get $6 - local.get $1 + local.get $0 i32.load $0 offset=12 local.tee $7 local.get $6 @@ -21569,7 +21569,7 @@ select i32.lt_s if - local.get $1 + local.get $0 i32.load $0 offset=4 local.get $2 i32.const 2 @@ -21579,22 +21579,22 @@ local.set $7 i32.const 4 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $7 local.get $2 - local.get $1 + local.get $0 i32.const 9520 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 + local.set $1 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0343 + br $for-loop|0442 end end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -21610,31 +21610,31 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $6 i32.store $0 local.get $0 i32.const 9552 i32.store $0 offset=8 i32.const 4 - local.set $0 + local.set $1 i32.const 0 local.set $2 - local.get $1 + local.get $6 i32.load $0 offset=12 - local.set $6 - loop $for-loop|0350 + local.set $0 + loop $for-loop|0449 local.get $2 + local.get $0 local.get $6 - local.get $1 i32.load $0 offset=12 local.tee $7 - local.get $6 + local.get $0 local.get $7 i32.lt_s select i32.lt_s if - local.get $1 + local.get $6 i32.load $0 offset=4 local.get $2 i32.const 2 @@ -21644,22 +21644,22 @@ local.set $7 i32.const 4 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $7 local.get $2 - local.get $1 + local.get $6 i32.const 9552 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 + local.set $1 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0350 + br $for-loop|0449 end end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -21675,31 +21675,31 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $6 i32.store $0 local.get $0 i32.const 9584 i32.store $0 offset=8 i32.const 0 - local.set $0 + local.set $1 i32.const 0 local.set $2 - local.get $1 + local.get $6 i32.load $0 offset=12 - local.set $6 - loop $for-loop|0357 + local.set $0 + loop $for-loop|0456 local.get $2 + local.get $0 local.get $6 - local.get $1 i32.load $0 offset=12 local.tee $7 - local.get $6 + local.get $0 local.get $7 i32.lt_s select i32.lt_s if - local.get $1 + local.get $6 i32.load $0 offset=4 local.get $2 i32.const 2 @@ -21709,22 +21709,22 @@ local.set $7 i32.const 4 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $7 local.get $2 - local.get $1 + local.get $6 i32.const 9584 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 + local.set $1 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0357 + br $for-loop|0456 end end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -21737,31 +21737,31 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $6 i32.store $0 local.get $0 i32.const 9616 i32.store $0 offset=8 i32.const 0 - local.set $0 + local.set $1 i32.const 0 local.set $2 - local.get $1 + local.get $6 i32.load $0 offset=12 - local.set $6 - loop $for-loop|0364 + local.set $0 + loop $for-loop|0463 local.get $2 + local.get $0 local.get $6 - local.get $1 i32.load $0 offset=12 local.tee $7 - local.get $6 + local.get $0 local.get $7 i32.lt_s select i32.lt_s if - local.get $1 + local.get $6 i32.load $0 offset=4 local.get $2 i32.const 2 @@ -21771,22 +21771,22 @@ local.set $7 i32.const 4 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $7 local.get $2 - local.get $1 + local.get $6 i32.const 9616 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 + local.set $1 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0364 + br $for-loop|0463 end end - local.get $0 + local.get $1 if i32.const 0 i32.const 1552 @@ -21798,31 +21798,31 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $6 i32.store $0 local.get $0 i32.const 9648 i32.store $0 offset=8 i32.const 0 - local.set $0 + local.set $1 i32.const 0 local.set $2 - local.get $1 + local.get $6 i32.load $0 offset=12 - local.set $6 - loop $for-loop|0371 + local.set $0 + loop $for-loop|0470 local.get $2 + local.get $0 local.get $6 - local.get $1 i32.load $0 offset=12 local.tee $7 - local.get $6 + local.get $0 local.get $7 i32.lt_s select i32.lt_s if - local.get $1 + local.get $6 i32.load $0 offset=4 local.get $2 i32.const 2 @@ -21832,22 +21832,22 @@ local.set $7 i32.const 4 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $7 local.get $2 - local.get $1 + local.get $6 i32.const 9648 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 + local.set $1 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0371 + br $for-loop|0470 end end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -21879,31 +21879,31 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $6 i32.store $0 local.get $0 i32.const 9680 i32.store $0 offset=8 i32.const 0 - local.set $0 + local.set $1 i32.const 0 local.set $2 - local.get $1 + local.get $6 i32.load $0 offset=12 - local.set $6 - loop $for-loop|0380 + local.set $0 + loop $for-loop|0479 local.get $2 + local.get $0 local.get $6 - local.get $1 i32.load $0 offset=12 local.tee $7 - local.get $6 + local.get $0 local.get $7 i32.lt_s select i32.lt_s if - local.get $1 + local.get $6 i32.load $0 offset=4 local.get $2 i32.const 2 @@ -21913,22 +21913,22 @@ local.set $7 i32.const 4 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $7 local.get $2 - local.get $1 + local.get $6 i32.const 9680 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 + local.set $1 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0380 + br $for-loop|0479 end end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -21971,22 +21971,22 @@ drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 9712 i32.store $0 offset=8 i32.const 0 - local.set $0 + local.set $1 i32.const 0 local.set $2 - local.get $1 + local.get $0 i32.load $0 offset=12 local.set $6 - loop $for-loop|0387 + loop $for-loop|0486 local.get $2 local.get $6 - local.get $1 + local.get $0 i32.load $0 offset=12 local.tee $7 local.get $6 @@ -21995,7 +21995,7 @@ select i32.lt_s if - local.get $1 + local.get $0 i32.load $0 offset=4 local.get $2 i32.const 2 @@ -22005,22 +22005,22 @@ local.set $7 i32.const 4 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $7 local.get $2 - local.get $1 + local.get $0 i32.const 9712 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 + local.set $1 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0387 + br $for-loop|0486 end end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -22071,20 +22071,20 @@ i32.const 9744 i32.store $0 offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $0 - loop $for-loop|0395 - local.get $0 + local.set $1 + loop $for-loop|0494 + local.get $1 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -22092,22 +22092,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $6 local.get $0 + local.get $6 + local.get $1 local.get $2 i32.const 9744 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0395 + local.set $1 + br $for-loop|0494 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -22129,20 +22129,20 @@ i32.const 9776 i32.store $0 offset=8 i32.const 4 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $0 - loop $for-loop|0401 - local.get $0 + local.set $1 + loop $for-loop|0500 + local.get $1 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -22150,22 +22150,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $6 local.get $0 + local.get $6 + local.get $1 local.get $2 i32.const 9776 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0401 + local.set $1 + br $for-loop|0500 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -22187,20 +22187,20 @@ i32.const 9808 i32.store $0 offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $0 - loop $for-loop|0407 - local.get $0 + local.set $1 + loop $for-loop|0506 + local.get $1 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -22208,22 +22208,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $6 local.get $0 + local.get $6 + local.get $1 local.get $2 i32.const 9808 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0407 + local.set $1 + br $for-loop|0506 end end - local.get $1 + local.get $0 i32.eqz if i32.const 0 @@ -22242,20 +22242,20 @@ i32.const 9840 i32.store $0 offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $0 - loop $for-loop|0413 - local.get $0 + local.set $1 + loop $for-loop|0512 + local.get $1 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -22263,22 +22263,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $6 local.get $0 + local.get $6 + local.get $1 local.get $2 i32.const 9840 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0413 + local.set $1 + br $for-loop|0512 end end - local.get $1 + local.get $0 if i32.const 0 i32.const 1552 @@ -22296,20 +22296,20 @@ i32.const 9872 i32.store $0 offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $0 - loop $for-loop|0419 - local.get $0 + local.set $1 + loop $for-loop|0518 + local.get $1 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -22317,22 +22317,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $6 local.get $0 + local.get $6 + local.get $1 local.get $2 i32.const 9872 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0419 + local.set $1 + br $for-loop|0518 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -22370,20 +22370,20 @@ i32.const 9904 i32.store $0 offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $0 - loop $for-loop|0427 - local.get $0 + local.set $1 + loop $for-loop|0526 + local.get $1 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -22391,22 +22391,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $6 local.get $0 + local.get $6 + local.get $1 local.get $2 i32.const 9904 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0427 + local.set $1 + br $for-loop|0526 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -22455,20 +22455,20 @@ i32.const 9936 i32.store $0 offset=8 i32.const 0 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $0 - loop $for-loop|0433 - local.get $0 + local.set $1 + loop $for-loop|0532 + local.get $1 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -22476,22 +22476,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $6 local.get $0 + local.get $6 + local.get $1 local.get $2 i32.const 9936 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0433 + local.set $1 + br $for-loop|0532 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -23039,7 +23039,7 @@ i32.const 0 global.set $~argumentsLength i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23051,16 +23051,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of154 - block $0of155 - block $outOfRange56 + block $1of115 + block $0of116 + block $outOfRange17 global.get $~argumentsLength - br_table $0of155 $1of154 $outOfRange56 + br_table $0of116 $1of115 $outOfRange17 end unreachable end i32.const 10480 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 10480 i32.store $0 @@ -23069,7 +23069,7 @@ i32.load $0 offset=4 local.get $2 i32.load $0 offset=12 - local.get $1 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23081,41 +23081,41 @@ i32.const 12 i32.const 10512 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=8 i32.const 0 local.get $2 i32.load $0 offset=12 local.tee $6 - local.get $1 + local.get $0 i32.load $0 offset=12 i32.ne br_if $__inlined_func$std/array/isArraysEqual drop i32.const 1 - local.get $1 + local.get $0 local.get $2 i32.eq br_if $__inlined_func$std/array/isArraysEqual drop i32.const 0 - local.set $0 + local.set $1 loop $for-loop|071 - local.get $0 + local.get $1 local.get $6 i32.lt_s if local.get $2 - local.get $0 + local.get $1 call $~lib/array/Array#__get local.tee $4 local.get $4 f64.ne if (result i32) - local.get $1 local.get $0 + local.get $1 call $~lib/array/Array#__get local.tee $4 local.get $4 @@ -23127,14 +23127,14 @@ if i32.const 0 local.get $2 - local.get $0 + local.get $1 call $~lib/array/Array#__get i64.reinterpret_f64 i64.const 63 i64.shr_u i32.wrap_i64 - local.get $1 local.get $0 + local.get $1 call $~lib/array/Array#__get i64.reinterpret_f64 i64.const 63 @@ -23145,19 +23145,19 @@ drop i32.const 0 local.get $2 - local.get $0 - call $~lib/array/Array#__get local.get $1 + call $~lib/array/Array#__get local.get $0 + local.get $1 call $~lib/array/Array#__get f64.ne br_if $__inlined_func$std/array/isArraysEqual drop end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|071 end end @@ -23178,12 +23178,12 @@ i32.const 4 i32.const 10608 call $~lib/rt/__newArray - local.tee $0 + local.tee $1 i32.store $0 offset=272 i32.const 0 global.set $~argumentsLength i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23204,16 +23204,16 @@ unreachable end i32.const 10656 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 10656 i32.store $0 end - local.get $0 + local.get $1 i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=12 local.get $1 + i32.load $0 offset=12 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23224,12 +23224,12 @@ i32.const 4 i32.const 10688 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 local.get $0 + i32.store $0 offset=8 local.get $1 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23247,12 +23247,12 @@ i32.const 8 i32.const 10736 call $~lib/rt/__newArray - local.tee $0 + local.tee $1 i32.store $0 offset=276 i32.const 0 global.set $~argumentsLength i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23273,16 +23273,16 @@ unreachable end i32.const 10784 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 10784 i32.store $0 end - local.get $0 + local.get $1 i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=12 local.get $1 + i32.load $0 offset=12 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23293,12 +23293,12 @@ i32.const 8 i32.const 10816 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 local.get $0 + i32.store $0 offset=8 local.get $1 + local.get $0 call $std/array/isArraysEqual i32.eqz if @@ -23502,7 +23502,7 @@ local.get $12 call $std/array/assertSortedDefault i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -23512,15 +23512,15 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i32.const 0 i32.const 24 memory.fill $0 - local.get $1 + local.get $0 global.get $std/array/inputStabArr local.tee $2 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -23573,14 +23573,14 @@ i32.shl local.set $6 loop $while-continue|01 - local.get $0 + local.get $1 local.get $6 i32.lt_u if - local.get $0 + local.get $1 local.get $9 i32.add - local.get $0 + local.get $1 local.get $2 i32.add i32.load $0 @@ -23593,10 +23593,10 @@ i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 + local.get $1 i32.const 4 i32.add - local.set $0 + local.set $1 br $while-continue|01 end end @@ -23616,29 +23616,29 @@ i32.load $0 offset=12 i32.const 11152 call $~lib/util/sort/SORT - local.get $1 + local.get $0 local.get $7 i32.store $0 offset=12 i32.const 1 local.set $2 i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer global.get $std/array/inputStabArr - local.tee $1 + local.tee $0 i32.store $0 - local.get $1 + local.get $0 i32.load $0 offset=12 - local.set $1 + local.set $0 loop $for-loop|02 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if block $for-break0 global.get $~lib/memory/__stack_pointer local.get $7 - local.get $0 + local.get $1 call $~lib/array/Array#__get local.tee $6 i32.store $0 offset=16 @@ -23648,7 +23648,7 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.get $8 - local.get $0 + local.get $1 call $~lib/array/Array#__get local.tee $8 i32.store $0 offset=20 @@ -23671,10 +23671,10 @@ local.set $2 br $for-break0 end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|02 end end @@ -23728,7 +23728,7 @@ i32.const 11280 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -23738,10 +23738,10 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -23800,13 +23800,13 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $2 i32.store $0 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|080 - local.get $0 + local.get $1 i32.const 2 i32.lt_s if @@ -23818,17 +23818,17 @@ local.get $6 i32.const 0 i32.const 1 - local.get $0 + local.get $1 i32.sub call $~lib/array/Array#__set local.get $2 - local.get $0 + local.get $1 local.get $6 call $~lib/array/Array<~lib/array/Array>#__set - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|080 end end @@ -23836,7 +23836,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 local.get $2 i32.store $0 offset=328 global.get $~lib/memory/__stack_pointer @@ -23846,9 +23846,9 @@ i32.const 11312 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 local.set $0 + i32.const 0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -23924,7 +23924,7 @@ local.get $6 i32.store $0 loop $for-loop|03 - local.get $0 + local.get $1 i32.const 512 i32.lt_s if @@ -23948,7 +23948,7 @@ i32.store $0 local.get $2 i32.const 511 - local.get $0 + local.get $1 i32.sub i32.store $0 global.get $~lib/memory/__stack_pointer @@ -23959,13 +23959,13 @@ local.get $2 i32.store $0 offset=4 local.get $6 - local.get $0 + local.get $1 local.get $2 call $~lib/array/Array<~lib/array/Array>#__set - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|03 end end @@ -23973,7 +23973,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 local.get $6 i32.store $0 offset=332 global.get $~lib/memory/__stack_pointer @@ -23988,7 +23988,7 @@ i32.const 34 i32.const 11536 call $~lib/rt/__newArray - local.tee $6 + local.tee $0 i32.store $0 offset=336 global.get $~lib/memory/__stack_pointer i32.const 7 @@ -23996,7 +23996,7 @@ i32.const 34 i32.const 11584 call $~lib/rt/__newArray - local.tee $7 + local.tee $6 i32.store $0 offset=340 i32.const 1 global.set $~argumentsLength @@ -24041,14 +24041,14 @@ i32.const 0 i32.store $0 block $__inlined_func$std/array/isSorted<~lib/string/String|null> (result i32) - local.get $6 + local.get $0 i32.load $0 offset=4 - local.get $6 + local.get $0 i32.load $0 offset=12 local.get $2 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -24063,15 +24063,15 @@ i64.store $0 i32.const 1 local.set $1 - local.get $6 + local.get $0 i32.load $0 offset=12 - local.set $0 + local.set $7 loop $for-loop|08 - local.get $0 local.get $1 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $6 + local.get $0 local.get $1 i32.const 1 i32.sub @@ -24080,7 +24080,7 @@ global.get $~lib/memory/__stack_pointer local.get $8 i32.store $0 - local.get $6 + local.get $0 local.get $1 call $~lib/array/Array#__get local.set $9 @@ -24146,10 +24146,10 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $6 + local.get $0 i32.load $0 offset=12 - local.tee $1 - local.get $7 + local.tee $2 + local.get $6 i32.load $0 offset=12 i32.ne if @@ -24160,8 +24160,8 @@ i32.const 0 br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> end + local.get $0 local.get $6 - local.get $7 i32.eq if global.get $~lib/memory/__stack_pointer @@ -24172,27 +24172,27 @@ br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|04 - local.get $0 local.get $1 + local.get $2 i32.lt_s if - local.get $6 local.get $0 + local.get $1 call $~lib/array/Array#__get - local.set $2 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 local.get $7 - local.get $0 + i32.store $0 + local.get $6 + local.get $1 call $~lib/array/Array#__get local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 i32.store $0 offset=4 - local.get $2 + local.get $7 local.get $8 call $~lib/string/String.__eq i32.eqz @@ -24204,10 +24204,10 @@ i32.const 0 br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|04 end end @@ -24228,12 +24228,12 @@ end global.get $~lib/memory/__stack_pointer call $std/array/createRandomStringArray - local.tee $0 + local.tee $1 i32.store $0 offset=344 i32.const 1 global.set $~argumentsLength i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24245,24 +24245,24 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1460 - block $0of1461 - block $outOfRange462 + block $1of1559 + block $0of1560 + block $outOfRange561 global.get $~argumentsLength i32.const 1 i32.sub - br_table $0of1461 $1of1460 $outOfRange462 + br_table $0of1560 $1of1559 $outOfRange561 end unreachable end i32.const 11664 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 11664 i32.store $0 end - local.get $0 local.get $1 + local.get $0 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24351,7 +24351,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|159 + loop $for-loop|120 local.get $2 local.get $7 i32.lt_s @@ -24403,7 +24403,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|159 + br $for-loop|120 end end local.get $6 @@ -25025,7 +25025,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|060 + loop $for-loop|021 local.get $2 local.get $7 i32.lt_s @@ -25066,7 +25066,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|060 + br $for-loop|021 end end local.get $1 @@ -25220,7 +25220,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|061 + loop $for-loop|023 local.get $2 local.get $7 i32.lt_s @@ -25261,7 +25261,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|061 + br $for-loop|023 end end local.get $1 @@ -25464,22 +25464,22 @@ local.get $7 i32.eqz if - local.get $6 - i64.load $0 - i64.extend32_s - local.set $3 - 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 16128 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/number/itoa64 + block $__inlined_func$~lib/util/number/itoa64 (result i32) + local.get $6 + i64.load $0 + i64.extend32_s + local.set $3 + 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 16128 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 local.get $3 i64.eqz if @@ -25488,7 +25488,6 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 7648 - local.set $0 br $__inlined_func$~lib/util/number/itoa64 end i64.const 0 @@ -25501,7 +25500,7 @@ i32.wrap_i64 i32.const 1 i32.shl - local.tee $1 + local.tee $0 select local.tee $3 i64.const 4294967295 @@ -25559,11 +25558,11 @@ local.tee $6 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 $1 i32.store $0 local.get $0 local.get $1 @@ -25626,11 +25625,11 @@ local.tee $2 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 $1 i32.store $0 local.get $0 local.get $1 @@ -25639,9 +25638,9 @@ local.get $2 call $~lib/util/number/utoa64_dec_lut end - local.get $1 + local.get $0 if - local.get $0 + local.get $1 i32.const 45 i32.store16 $0 end @@ -25649,7 +25648,9 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 end + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -25677,7 +25678,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|062 + loop $for-loop|024 local.get $2 local.get $7 i32.lt_s @@ -25718,7 +25719,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|062 + br $for-loop|024 end end local.get $1 @@ -25955,7 +25956,7 @@ i32.const 1 i32.shr_u local.set $7 - loop $for-loop|063 + loop $for-loop|025 local.get $1 local.get $2 i32.gt_s @@ -25999,7 +26000,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|063 + br $for-loop|025 end end global.get $~lib/memory/__stack_pointer @@ -26173,7 +26174,7 @@ i32.const 1 i32.shr_u local.set $7 - loop $for-loop|064 + loop $for-loop|026 local.get $1 local.get $2 i32.gt_s @@ -26217,7 +26218,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|064 + br $for-loop|026 end end global.get $~lib/memory/__stack_pointer @@ -26399,7 +26400,7 @@ i32.const 1 i32.shr_u local.set $7 - loop $for-loop|065 + loop $for-loop|027 local.get $1 local.get $2 i32.gt_s @@ -26443,7 +26444,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|065 + br $for-loop|027 end end global.get $~lib/memory/__stack_pointer @@ -26550,9 +26551,9 @@ global.get $~lib/memory/__stack_pointer local.get $1 call $~lib/array/Array<~lib/array/Array>#flat - local.tee $0 + local.tee $1 i32.store $0 offset=456 - local.get $0 + local.get $1 i32.load $0 offset=12 i32.const 10 i32.ne @@ -26565,16 +26566,16 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|7 - local.get $1 + local.get $0 i32.const 10 i32.lt_s if - local.get $0 local.get $1 + local.get $0 call $~lib/array/Array#__get - local.get $1 + local.get $0 i32.ne if i32.const 0 @@ -26584,10 +26585,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|7 end end @@ -26661,21 +26662,21 @@ i32.const 0 local.set $2 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|083 - local.get $0 + local.get $1 local.get $8 i32.lt_s if local.get $7 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $1 + local.tee $0 if (result i32) - local.get $1 + local.get $0 i32.load $0 offset=12 else i32.const 0 @@ -26683,10 +26684,10 @@ local.get $2 i32.add local.set $2 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|083 end end @@ -26725,23 +26726,23 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end i32.const 0 - local.set $0 - i32.const 0 local.set $1 + i32.const 0 + local.set $0 loop $for-loop|186 - local.get $1 + local.get $0 local.get $8 i32.lt_s if local.get $7 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 local.tee $11 if - local.get $0 + local.get $1 local.get $9 i32.add local.get $11 @@ -26752,15 +26753,15 @@ i32.shl local.tee $11 memory.copy $0 $0 - local.get $0 + local.get $1 local.get $11 i32.add - local.set $0 + local.set $1 end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|186 end end @@ -26804,7 +26805,7 @@ i32.const 34 i32.const 15728 call $~lib/rt/__newArray - local.tee $1 + local.tee $0 i32.store $0 offset=476 local.get $10 i32.load $0 offset=12 @@ -26819,22 +26820,22 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|8 - local.get $0 local.get $1 + local.get $0 i32.load $0 offset=12 i32.lt_s if local.get $10 - local.get $0 + local.get $1 call $~lib/array/Array#__get local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 - local.get $1 local.get $0 + local.get $1 call $~lib/array/Array#__get local.set $6 global.get $~lib/memory/__stack_pointer @@ -26852,10 +26853,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|8 end end @@ -26914,13 +26915,13 @@ i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $1 + local.tee $2 i32.store $0 offset=492 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.load $0 offset=4 i32.store $0 offset=496 - local.get $1 + local.get $2 i32.const 0 i32.const 1 i32.const 2 @@ -26928,7 +26929,7 @@ i32.const 15856 call $~lib/rt/__newArray call $~lib/array/Array#__uset - local.get $1 + local.get $2 i32.const 1 i32.const 1 i32.const 2 @@ -26937,10 +26938,10 @@ call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $0 - local.get $1 + local.get $2 i32.store $0 offset=500 global.get $~lib/memory/__stack_pointer - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 15920 i32.store $0 offset=348 @@ -26953,14 +26954,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 local.get $1 + local.get $2 i32.load $0 offset=12 local.tee $6 i32.const 2 @@ -26973,11 +26974,11 @@ i32.load $0 offset=4 local.set $8 i32.const 0 - local.set $0 - loop $for-loop|0485 - local.get $0 - local.get $6 + local.set $1 + loop $for-loop|0584 local.get $1 + local.get $6 + local.get $2 i32.load $0 offset=12 local.tee $9 local.get $6 @@ -26988,11 +26989,11 @@ if global.get $~lib/memory/__stack_pointer local.tee $9 - local.get $0 + local.get $1 i32.const 2 i32.shl local.tee $10 - local.get $1 + local.get $2 i32.load $0 offset=4 i32.add i32.load $0 @@ -27002,8 +27003,8 @@ global.set $~argumentsLength local.get $9 local.get $11 - local.get $0 local.get $1 + local.get $2 i32.const 15920 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -27021,11 +27022,11 @@ i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0485 + local.set $1 + br $for-loop|0584 end end global.get $~lib/memory/__stack_pointer @@ -27035,7 +27036,7 @@ global.get $~lib/memory/__stack_pointer local.get $7 i32.store $0 - local.get $2 + local.get $0 local.get $7 call $~lib/array/Array<~lib/array/Array>#flat local.tee $0 @@ -27116,12 +27117,12 @@ i32.const 0 i32.gt_s if - loop $while-continue|0491 + loop $while-continue|0590 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|0491 + br $while-continue|0590 end end end diff --git a/tests/compiler/std/arraybuffer.debug.wat b/tests/compiler/std/arraybuffer.debug.wat index bed1d35231..2ff1eed2d1 100644 --- a/tests/compiler/std/arraybuffer.debug.wat +++ b/tests/compiler/std/arraybuffer.debug.wat @@ -89,7 +89,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -101,8 +100,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -349,15 +346,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1404,8 +1398,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1450,8 +1442,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1501,8 +1491,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2592,8 +2580,6 @@ return ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2604,8 +2590,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2619,8 +2603,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/std/dataview.debug.wat b/tests/compiler/std/dataview.debug.wat index 29acf3df84..e48552ef65 100644 --- a/tests/compiler/std/dataview.debug.wat +++ b/tests/compiler/std/dataview.debug.wat @@ -95,7 +95,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -107,8 +106,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -355,15 +352,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1410,8 +1404,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1456,8 +1448,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1507,8 +1497,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -3278,8 +3266,6 @@ i32.sub ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -3290,8 +3276,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -3305,8 +3289,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/std/date.debug.wat b/tests/compiler/std/date.debug.wat index d56020cbcf..11e4d6e15e 100644 --- a/tests/compiler/std/date.debug.wat +++ b/tests/compiler/std/date.debug.wat @@ -460,7 +460,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -472,8 +471,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -720,15 +717,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1775,8 +1769,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1821,8 +1813,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1872,8 +1862,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -3062,24 +3050,21 @@ unreachable ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $3 i32) (local $t i32) (local $r i32) (local $d1 i32) (local $d2 i32) (local $digits1 i64) (local $digits2 i64) - (local $t|10 i32) - (local $d1|11 i32) + (local $t|9 i32) + (local $d1|10 i32) (local $digits i32) - (local $digits|13 i32) + (local $digits|12 i32) (local $digit i32) loop $while-continue|0 local.get $num i32.const 10000 i32.ge_u - local.set $3 - local.get $3 if local.get $num i32.const 10000 @@ -3138,19 +3123,19 @@ local.get $num i32.const 100 i32.div_u - local.set $t|10 + local.set $t|9 local.get $num i32.const 100 i32.rem_u - local.set $d1|11 - local.get $t|10 + local.set $d1|10 + local.get $t|9 local.set $num local.get $offset i32.const 2 i32.sub local.set $offset i32.const 860 - local.get $d1|11 + local.get $d1|10 i32.const 2 i32.shl i32.add @@ -3178,13 +3163,13 @@ i32.shl i32.add i32.load $0 - local.set $digits|13 + local.set $digits|12 local.get $buffer local.get $offset i32.const 1 i32.shl i32.add - local.get $digits|13 + local.get $digits|12 i32.store $0 else local.get $offset @@ -3205,13 +3190,10 @@ end ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) loop $while-continue|0 local.get $offset i32.const 2 i32.ge_u - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -3259,8 +3241,6 @@ (local $b64 i64) (local $b i64) (local $e i32) - (local $6 i32) - (local $7 i32) local.get $base local.set $value local.get $value @@ -3293,8 +3273,6 @@ local.get $num local.get $b i64.ge_u - local.set $6 - local.get $6 if local.get $num local.get $b @@ -3315,8 +3293,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $7 - local.get $7 if local.get $num local.get $b64 @@ -3444,7 +3420,6 @@ (func $~lib/memory/memory.repeat (type $i32_i32_i32_i32_=>_none) (param $dst i32) (param $src i32) (param $srcLength i32) (param $count i32) (local $index i32) (local $total i32) - (local $6 i32) i32.const 0 local.set $index local.get $srcLength @@ -3455,8 +3430,6 @@ local.get $index local.get $total i32.lt_u - local.set $6 - local.get $6 if local.get $dst local.get $index @@ -3592,7 +3565,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -3663,8 +3635,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -4143,13 +4113,11 @@ (local $len i32) (local $ptr i32) (local $code i32) - (local $5 i32) (local $sign i32) - (local $7 i32) + (local $6 i32) (local $num i32) (local $initial i32) - (local $10 i32) - (local $11 i32) + (local $9 i32) local.get $str call $~lib/string/String#get:length local.set $len @@ -4169,8 +4137,6 @@ loop $while-continue|0 local.get $code call $~lib/util/string/isSpace - local.set $5 - local.get $5 if local.get $ptr i32.const 2 @@ -4296,16 +4262,16 @@ i32.load16_u $0 offset=2 i32.const 32 i32.or - local.set $7 - local.get $7 + local.set $6 + local.get $6 i32.const 98 i32.eq br_if $case0|1 - local.get $7 + local.get $6 i32.const 111 i32.eq br_if $case1|1 - local.get $7 + local.get $6 i32.const 120 i32.eq br_if $case2|1 @@ -4364,13 +4330,11 @@ block $while-break|2 loop $while-continue|2 local.get $len - local.tee $10 + local.tee $9 i32.const 1 i32.sub local.set $len - local.get $10 - local.set $11 - local.get $11 + local.get $9 if local.get $ptr i32.load16_u $0 @@ -4500,7 +4464,6 @@ (func $~lib/staticarray/StaticArray<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -4517,8 +4480,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -4552,7 +4513,6 @@ (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -4570,8 +4530,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -5463,12 +5421,11 @@ (local $end i32) (local $start i32) (local $i|18 i32) - (local $19 i32) (local $len i32) (local $out i32) - (local $len|22 i32) - (local $out|23 i32) - (local $24 i32) + (local $len|21 i32) + (local $out|22 i32) + (local $23 i32) global.get $~lib/memory/__stack_pointer i32.const 36 i32.sub @@ -5486,12 +5443,12 @@ i32.const 6 i32.const 0 call $~lib/rt/__newArray - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return end local.get $separator @@ -5516,12 +5473,12 @@ local.get $this call $~lib/array/Array<~lib/string/String>#__uset local.get $3 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return end local.get $this @@ -5548,12 +5505,12 @@ i32.const 6 i32.const 0 call $~lib/rt/__newArray - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return end local.get $length @@ -5618,12 +5575,12 @@ end end local.get $result - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return else local.get $length @@ -5642,12 +5599,12 @@ i32.const 2432 i32.store $0 local.get $result|14 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return end end @@ -5673,8 +5630,6 @@ local.tee $end i32.const -1 i32.xor - local.set $19 - local.get $19 if local.get $end local.get $start @@ -5709,11 +5664,11 @@ else local.get $result|15 i32.const 2432 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer - local.get $24 + local.get $23 i32.store $0 offset=28 - local.get $24 + local.get $23 call $~lib/array/Array<~lib/string/String>#push drop end @@ -5725,12 +5680,12 @@ i32.eq if local.get $result|15 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return end local.get $end @@ -5748,62 +5703,62 @@ call $~lib/array/Array<~lib/string/String>#push drop local.get $result|15 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return end local.get $length local.get $start i32.sub - local.set $len|22 - local.get $len|22 + local.set $len|21 + local.get $len|21 i32.const 0 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $len|22 + local.get $len|21 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $out|23 + local.tee $out|22 i32.store $0 offset=32 - local.get $out|23 + local.get $out|22 local.get $this local.get $start i32.const 1 i32.shl i32.add - local.get $len|22 + local.get $len|21 i32.const 1 i32.shl memory.copy $0 $0 local.get $result|15 - local.get $out|23 + local.get $out|22 call $~lib/array/Array<~lib/string/String>#push drop else local.get $result|15 i32.const 2432 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer - local.get $24 + local.get $23 i32.store $0 offset=28 - local.get $24 + local.get $23 call $~lib/array/Array<~lib/string/String>#push drop end local.get $result|15 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 ) (func $~lib/date/Date.fromString (type $i32_=>_i32) (param $dateTimeString i32) (result i32) (local $hour i32) diff --git a/tests/compiler/std/date.release.wat b/tests/compiler/std/date.release.wat index 42862bfe65..b61c9fbd2a 100644 --- a/tests/compiler/std/date.release.wat +++ b/tests/compiler/std/date.release.wat @@ -2945,14 +2945,14 @@ i32.sub local.set $6 loop $while-continue|2 - block $while-break|2 - local.get $1 - local.tee $0 - i32.const 1 - i32.sub - local.set $1 - local.get $0 - if + local.get $1 + local.tee $0 + i32.const 1 + i32.sub + local.set $1 + local.get $0 + if + block $while-break|2 local.get $3 local.get $2 i32.load16_u $0 diff --git a/tests/compiler/std/hash.debug.wat b/tests/compiler/std/hash.debug.wat index f54c7c9b6b..f0a2bc8bb7 100644 --- a/tests/compiler/std/hash.debug.wat +++ b/tests/compiler/std/hash.debug.wat @@ -48,18 +48,15 @@ (local $s3 i32) (local $s4 i32) (local $end i32) - (local $10 i32) - (local $h|11 i32) - (local $key|12 i32) - (local $h|13 i32) - (local $key|14 i32) - (local $h|15 i32) - (local $key|16 i32) - (local $h|17 i32) - (local $key|18 i32) - (local $end|19 i32) - (local $20 i32) - (local $21 i32) + (local $h|10 i32) + (local $key|11 i32) + (local $h|12 i32) + (local $key|13 i32) + (local $h|14 i32) + (local $key|15 i32) + (local $h|16 i32) + (local $key|17 i32) + (local $end|18 i32) i32.const 1 drop block $~lib/util/hash/hashStr|inlined.0 (result i32) @@ -111,16 +108,14 @@ local.get $pos local.get $end i32.le_u - local.set $10 - local.get $10 if local.get $s1 - local.set $h|11 + local.set $h|10 local.get $pos i32.load $0 - local.set $key|12 - local.get $h|11 - local.get $key|12 + local.set $key|11 + local.get $h|10 + local.get $key|11 i32.const -2048144777 i32.mul i32.add @@ -130,12 +125,12 @@ i32.mul local.set $s1 local.get $s2 - local.set $h|13 + local.set $h|12 local.get $pos i32.load $0 offset=4 - local.set $key|14 - local.get $h|13 - local.get $key|14 + local.set $key|13 + local.get $h|12 + local.get $key|13 i32.const -2048144777 i32.mul i32.add @@ -145,12 +140,12 @@ i32.mul local.set $s2 local.get $s3 - local.set $h|15 + local.set $h|14 local.get $pos i32.load $0 offset=8 - local.set $key|16 - local.get $h|15 - local.get $key|16 + local.set $key|15 + local.get $h|14 + local.get $key|15 i32.const -2048144777 i32.mul i32.add @@ -160,12 +155,12 @@ i32.mul local.set $s3 local.get $s4 - local.set $h|17 + local.set $h|16 local.get $pos i32.load $0 offset=12 - local.set $key|18 - local.get $h|17 - local.get $key|18 + local.set $key|17 + local.get $h|16 + local.get $key|17 i32.const -2048144777 i32.mul i32.add @@ -212,13 +207,11 @@ i32.add i32.const 4 i32.sub - local.set $end|19 + local.set $end|18 loop $while-continue|1 local.get $pos - local.get $end|19 + local.get $end|18 i32.le_u - local.set $20 - local.get $20 if local.get $h local.get $pos @@ -243,13 +236,11 @@ local.get $key|1 local.get $len i32.add - local.set $end|19 + local.set $end|18 loop $while-continue|2 local.get $pos - local.get $end|19 + local.get $end|18 i32.lt_u - local.set $21 - local.get $21 if local.get $h local.get $pos @@ -314,18 +305,15 @@ (local $s3 i32) (local $s4 i32) (local $end i32) - (local $10 i32) - (local $h|11 i32) - (local $key|12 i32) - (local $h|13 i32) - (local $key|14 i32) - (local $h|15 i32) - (local $key|16 i32) - (local $h|17 i32) - (local $key|18 i32) - (local $end|19 i32) - (local $20 i32) - (local $21 i32) + (local $h|10 i32) + (local $key|11 i32) + (local $h|12 i32) + (local $key|13 i32) + (local $h|14 i32) + (local $key|15 i32) + (local $h|16 i32) + (local $key|17 i32) + (local $end|18 i32) i32.const 1 drop block $~lib/util/hash/hashStr|inlined.1 (result i32) @@ -377,16 +365,14 @@ local.get $pos local.get $end i32.le_u - local.set $10 - local.get $10 if local.get $s1 - local.set $h|11 + local.set $h|10 local.get $pos i32.load $0 - local.set $key|12 - local.get $h|11 - local.get $key|12 + local.set $key|11 + local.get $h|10 + local.get $key|11 i32.const -2048144777 i32.mul i32.add @@ -396,12 +382,12 @@ i32.mul local.set $s1 local.get $s2 - local.set $h|13 + local.set $h|12 local.get $pos i32.load $0 offset=4 - local.set $key|14 - local.get $h|13 - local.get $key|14 + local.set $key|13 + local.get $h|12 + local.get $key|13 i32.const -2048144777 i32.mul i32.add @@ -411,12 +397,12 @@ i32.mul local.set $s2 local.get $s3 - local.set $h|15 + local.set $h|14 local.get $pos i32.load $0 offset=8 - local.set $key|16 - local.get $h|15 - local.get $key|16 + local.set $key|15 + local.get $h|14 + local.get $key|15 i32.const -2048144777 i32.mul i32.add @@ -426,12 +412,12 @@ i32.mul local.set $s3 local.get $s4 - local.set $h|17 + local.set $h|16 local.get $pos i32.load $0 offset=12 - local.set $key|18 - local.get $h|17 - local.get $key|18 + local.set $key|17 + local.get $h|16 + local.get $key|17 i32.const -2048144777 i32.mul i32.add @@ -478,13 +464,11 @@ i32.add i32.const 4 i32.sub - local.set $end|19 + local.set $end|18 loop $while-continue|1 local.get $pos - local.get $end|19 + local.get $end|18 i32.le_u - local.set $20 - local.get $20 if local.get $h local.get $pos @@ -509,13 +493,11 @@ local.get $key|1 local.get $len i32.add - local.set $end|19 + local.set $end|18 loop $while-continue|2 local.get $pos - local.get $end|19 + local.get $end|18 i32.lt_u - local.set $21 - local.get $21 if local.get $h local.get $pos diff --git a/tests/compiler/std/map.debug.wat b/tests/compiler/std/map.debug.wat index 7a19c79ab2..f631c1188c 100644 --- a/tests/compiler/std/map.debug.wat +++ b/tests/compiler/std/map.debug.wat @@ -112,7 +112,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -124,8 +123,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -372,15 +369,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1427,8 +1421,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1473,8 +1465,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1524,8 +1514,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2413,7 +2401,6 @@ ) (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -2428,8 +2415,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -2515,7 +2500,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -2571,8 +2555,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -3081,7 +3063,6 @@ ) (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -3096,8 +3077,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -3174,7 +3153,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -3230,8 +3208,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -3387,7 +3363,6 @@ ) (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -3402,8 +3377,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -3478,7 +3451,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -3534,8 +3506,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -4290,7 +4260,6 @@ ) (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -4305,8 +4274,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -4394,7 +4361,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -4450,8 +4416,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -4689,7 +4653,6 @@ ) (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -4704,8 +4667,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -4784,7 +4745,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -4840,8 +4800,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -5591,7 +5549,6 @@ ) (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -5606,8 +5563,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -5693,7 +5648,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -5749,8 +5703,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -5988,7 +5940,6 @@ ) (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -6003,8 +5954,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -6081,7 +6030,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -6137,8 +6085,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -6889,7 +6835,6 @@ ) (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -6904,8 +6849,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -6993,7 +6936,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -7049,8 +6991,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -7288,7 +7228,6 @@ ) (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -7303,8 +7242,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -7383,7 +7320,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -7439,8 +7375,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -8774,7 +8708,6 @@ ) (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -8789,8 +8722,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -8874,7 +8805,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -8930,8 +8860,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -9169,7 +9097,6 @@ ) (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -9184,8 +9111,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -9260,7 +9185,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -9316,8 +9240,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -10083,7 +10005,6 @@ ) (func $~lib/map/Map#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -10098,8 +10019,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -10183,7 +10102,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i64) @@ -10239,8 +10157,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -10478,7 +10394,6 @@ ) (func $~lib/map/Map#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -10493,8 +10408,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -10569,7 +10482,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i64) @@ -10625,8 +10537,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -11400,7 +11310,6 @@ ) (func $~lib/map/Map#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -11415,8 +11324,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -11500,7 +11407,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i64) @@ -11556,8 +11462,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -11795,7 +11699,6 @@ ) (func $~lib/map/Map#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -11810,8 +11713,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -11886,7 +11787,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i64) @@ -11942,8 +11842,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -12701,7 +12599,6 @@ ) (func $~lib/map/Map#find (type $i32_f32_i32_=>_i32) (param $this i32) (param $key f32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -12716,8 +12613,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -12801,7 +12696,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey f32) @@ -12857,8 +12751,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -13096,7 +12988,6 @@ ) (func $~lib/map/Map#find (type $i32_f32_i32_=>_i32) (param $this i32) (param $key f32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -13111,8 +13002,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -13187,7 +13076,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey f32) @@ -13243,8 +13131,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -14019,7 +13905,6 @@ ) (func $~lib/map/Map#find (type $i32_f64_i32_=>_i32) (param $this i32) (param $key f64) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -14034,8 +13919,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -14119,7 +14002,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey f64) @@ -14175,8 +14057,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -14414,7 +14294,6 @@ ) (func $~lib/map/Map#find (type $i32_f64_i32_=>_i32) (param $this i32) (param $key f64) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -14429,8 +14308,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -14505,7 +14382,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey f64) @@ -14561,8 +14437,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -15199,8 +15073,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -15211,8 +15083,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -15226,8 +15096,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/std/math.debug.wat b/tests/compiler/std/math.debug.wat index bb80ce340d..b0e5cd7233 100644 --- a/tests/compiler/std/math.debug.wat +++ b/tests/compiler/std/math.debug.wat @@ -9152,7 +9152,6 @@ (local $uy1 i64) (local $m f64) (local $ux1 i64) - (local $10 i32) (local $shift i64) local.get $y f64.abs @@ -9304,8 +9303,6 @@ local.get $ex local.get $ey i64.gt_s - local.set $10 - local.get $10 if local.get $ux local.get $uy @@ -9429,7 +9426,6 @@ (local $uy1 i32) (local $m f32) (local $ux1 i32) - (local $10 i32) (local $shift i32) local.get $y f32.abs @@ -9577,8 +9573,6 @@ local.get $ex local.get $ey i32.gt_s - local.set $10 - local.get $10 if local.get $ux local.get $uy @@ -11711,7 +11705,6 @@ (local $m f64) (local $uxi i64) (local $q i32) - (local $9 i32) (local $shift i64) (local $x2 f64) local.get $x @@ -11859,8 +11852,6 @@ local.get $ex local.get $ey i64.gt_s - local.set $9 - local.get $9 if local.get $uxi local.get $uy @@ -12029,7 +12020,6 @@ (local $ey i32) (local $uxi i32) (local $q i32) - (local $8 i32) (local $shift i32) (local $x2 f32) local.get $x @@ -12173,8 +12163,6 @@ local.get $ex local.get $ey i32.gt_s - local.set $8 - local.get $8 if local.get $uxi local.get $uy @@ -16131,7 +16119,6 @@ (local $out i64) (local $log i32) (local $4 i32) - (local $5 i32) i64.const 1 local.set $out i32.const 0 @@ -16364,8 +16351,6 @@ local.get $e i64.const 0 i64.ne - local.set $5 - local.get $5 if local.get $e i64.const 1 @@ -16395,7 +16380,6 @@ (local $out i32) (local $log i32) (local $4 i32) - (local $5 i32) i32.const 1 local.set $out i32.const 0 @@ -16586,8 +16570,6 @@ end loop $while-continue|1 local.get $e - local.set $5 - local.get $5 if local.get $e i32.const 1 diff --git a/tests/compiler/std/mod.debug.wat b/tests/compiler/std/mod.debug.wat index cd3f566d3b..afa838489f 100644 --- a/tests/compiler/std/mod.debug.wat +++ b/tests/compiler/std/mod.debug.wat @@ -29,7 +29,6 @@ (local $uy1 i64) (local $m f64) (local $ux1 i64) - (local $10 i32) (local $shift i64) local.get $y f64.abs @@ -181,8 +180,6 @@ local.get $ex local.get $ey i64.gt_s - local.set $10 - local.get $10 if local.get $ux local.get $uy @@ -330,7 +327,6 @@ (local $uy1 i32) (local $m f32) (local $ux1 i32) - (local $10 i32) (local $shift i32) local.get $y f32.abs @@ -478,8 +474,6 @@ local.get $ex local.get $ey i32.gt_s - local.set $10 - local.get $10 if local.get $ux local.get $uy diff --git a/tests/compiler/std/new.debug.wat b/tests/compiler/std/new.debug.wat index 4ce69cacf9..b8f9984e79 100644 --- a/tests/compiler/std/new.debug.wat +++ b/tests/compiler/std/new.debug.wat @@ -99,7 +99,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -111,8 +110,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -359,15 +356,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1414,8 +1408,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1460,8 +1452,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1511,8 +1501,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/std/object.debug.wat b/tests/compiler/std/object.debug.wat index fe17988670..4d93146092 100644 --- a/tests/compiler/std/object.debug.wat +++ b/tests/compiler/std/object.debug.wat @@ -106,7 +106,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -177,8 +176,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/std/operator-overloading.debug.wat b/tests/compiler/std/operator-overloading.debug.wat index 09c5c63d7d..e8ed0253f8 100644 --- a/tests/compiler/std/operator-overloading.debug.wat +++ b/tests/compiler/std/operator-overloading.debug.wat @@ -154,7 +154,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -166,8 +165,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -414,15 +411,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1469,8 +1463,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1515,8 +1507,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1566,8 +1556,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2357,7 +2345,6 @@ (local $out i32) (local $log i32) (local $4 i32) - (local $5 i32) i32.const 1 local.set $out i32.const 0 @@ -2548,8 +2535,6 @@ end loop $while-continue|1 local.get $e - local.set $5 - local.get $5 if local.get $e i32.const 1 @@ -2921,7 +2906,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2992,8 +2976,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/std/set.debug.wat b/tests/compiler/std/set.debug.wat index 977e179853..bbb40df797 100644 --- a/tests/compiler/std/set.debug.wat +++ b/tests/compiler/std/set.debug.wat @@ -107,7 +107,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -119,8 +118,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -367,15 +364,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1422,8 +1416,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1468,8 +1460,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1519,8 +1509,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2408,7 +2396,6 @@ ) (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/set/Set#get:buckets @@ -2423,8 +2410,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/set/SetEntry#get:taggedNext @@ -2501,7 +2486,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -2557,8 +2541,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -3507,7 +3489,6 @@ ) (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/set/Set#get:buckets @@ -3522,8 +3503,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/set/SetEntry#get:taggedNext @@ -3602,7 +3581,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -3658,8 +3636,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -4454,7 +4430,6 @@ ) (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/set/Set#get:buckets @@ -4469,8 +4444,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/set/SetEntry#get:taggedNext @@ -4547,7 +4520,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -4603,8 +4575,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -5400,7 +5370,6 @@ ) (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/set/Set#get:buckets @@ -5415,8 +5384,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/set/SetEntry#get:taggedNext @@ -5495,7 +5462,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -5551,8 +5517,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -6346,7 +6310,6 @@ ) (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/set/Set#get:buckets @@ -6361,8 +6324,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/set/SetEntry#get:taggedNext @@ -6437,7 +6398,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -6493,8 +6453,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -7288,7 +7246,6 @@ ) (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/set/Set#get:buckets @@ -7303,8 +7260,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/set/SetEntry#get:taggedNext @@ -7379,7 +7334,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -7435,8 +7389,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -8247,7 +8199,6 @@ ) (func $~lib/set/Set#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/set/Set#get:buckets @@ -8262,8 +8213,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/set/SetEntry#get:taggedNext @@ -8338,7 +8287,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i64) @@ -8394,8 +8342,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -9206,7 +9152,6 @@ ) (func $~lib/set/Set#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/set/Set#get:buckets @@ -9221,8 +9166,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/set/SetEntry#get:taggedNext @@ -9297,7 +9240,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i64) @@ -9353,8 +9295,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -10149,7 +10089,6 @@ ) (func $~lib/set/Set#find (type $i32_f32_i32_=>_i32) (param $this i32) (param $key f32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/set/Set#get:buckets @@ -10164,8 +10103,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/set/SetEntry#get:taggedNext @@ -10240,7 +10177,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey f32) @@ -10296,8 +10232,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -11109,7 +11043,6 @@ ) (func $~lib/set/Set#find (type $i32_f64_i32_=>_i32) (param $this i32) (param $key f64) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/set/Set#get:buckets @@ -11124,8 +11057,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/set/SetEntry#get:taggedNext @@ -11200,7 +11131,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey f64) @@ -11256,8 +11186,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -11931,8 +11859,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -11943,8 +11869,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -11958,8 +11882,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/std/static-array.debug.wat b/tests/compiler/std/static-array.debug.wat index 6b6cc43d4a..58117c5678 100644 --- a/tests/compiler/std/static-array.debug.wat +++ b/tests/compiler/std/static-array.debug.wat @@ -162,7 +162,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -174,8 +173,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -418,15 +415,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1469,8 +1463,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1515,8 +1507,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1566,8 +1556,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/std/staticarray.debug.wat b/tests/compiler/std/staticarray.debug.wat index 6790ea6137..56fc74013d 100644 --- a/tests/compiler/std/staticarray.debug.wat +++ b/tests/compiler/std/staticarray.debug.wat @@ -226,7 +226,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -238,8 +237,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -486,15 +483,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1541,8 +1535,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1587,8 +1579,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1638,8 +1628,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2500,7 +2488,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2571,8 +2558,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -2679,7 +2664,6 @@ (local $length i32) (local $4 i32) (local $5 i32) - (local $6 i32) (local $elem f64) i32.const 1 drop @@ -2720,8 +2704,6 @@ local.get $fromIndex local.get $length i32.lt_s - local.set $6 - local.get $6 if local.get $this local.get $fromIndex @@ -2770,7 +2752,6 @@ (local $length i32) (local $4 i32) (local $5 i32) - (local $6 i32) (local $elem f32) i32.const 1 drop @@ -2811,8 +2792,6 @@ local.get $fromIndex local.get $length i32.lt_s - local.set $6 - local.get $6 if local.get $this local.get $fromIndex @@ -2853,7 +2832,6 @@ (local $length i32) (local $4 i32) (local $5 i32) - (local $6 i32) local.get $this call $~lib/staticarray/StaticArray#get:length local.set $length @@ -2891,8 +2869,6 @@ local.get $fromIndex local.get $length i32.lt_s - local.set $6 - local.get $6 if local.get $this local.get $fromIndex @@ -2917,7 +2893,6 @@ ) (func $~lib/staticarray/StaticArray#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) (local $length i32) - (local $4 i32) local.get $this call $~lib/staticarray/StaticArray#get:length local.set $length @@ -2951,8 +2926,6 @@ local.get $fromIndex i32.const 0 i32.ge_s - local.set $4 - local.get $4 if local.get $this local.get $fromIndex @@ -3150,7 +3123,6 @@ (local $i i32) (local $tail i32) (local $hlen i32) - (local $5 i32) (local $front i32) (local $back i32) (local $temp i32) @@ -3184,8 +3156,6 @@ local.get $i local.get $hlen i32.lt_u - local.set $5 - local.get $5 if local.get $ptr local.get $i @@ -3928,8 +3898,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -4006,8 +3974,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -4056,8 +4022,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -4111,11 +4075,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) local.get $i local.get $right i32.eq @@ -4175,8 +4136,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -4191,8 +4150,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -4259,8 +4216,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -4492,19 +4447,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -4721,8 +4675,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -4745,15 +4697,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -4772,16 +4724,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -4794,7 +4746,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -4808,17 +4760,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -4846,29 +4798,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -4880,10 +4832,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -4906,8 +4858,6 @@ i32.sub ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -4918,8 +4868,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -4933,8 +4881,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop @@ -5020,7 +4966,6 @@ (func $~lib/staticarray/StaticArray#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -5037,8 +4982,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -5088,7 +5031,6 @@ (func $~lib/staticarray/StaticArray<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -5105,8 +5047,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -5140,7 +5080,6 @@ (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -5158,8 +5097,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -5392,7 +5329,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -5416,12 +5352,12 @@ end if i32.const -1 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $6 return end local.get $fromIndex @@ -5444,8 +5380,6 @@ local.get $fromIndex local.get $length i32.lt_s - local.set $6 - local.get $6 if local.get $this local.get $fromIndex @@ -5453,21 +5387,21 @@ i32.shl i32.add i32.load $0 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 local.get $value call $~lib/string/String.__eq if local.get $fromIndex - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $6 return end local.get $fromIndex @@ -5478,12 +5412,12 @@ end end i32.const -1 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $6 ) (func $~lib/staticarray/StaticArray<~lib/string/String>#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -7758,6 +7692,8 @@ i32.const 2 i32.shl local.set $sourceSize + local.get $this + local.set $out i32.const 0 drop i32.const 1 @@ -7815,9 +7751,8 @@ (local $out i32) (local $outStart i32) (local $off i32) - (local $19 i32) (local $ref i32) - (local $21 i32) + (local $20 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7900,6 +7835,8 @@ i32.const 2 i32.shl local.set $size + local.get $this + local.set $out i32.const 0 drop i32.const 1 @@ -7920,8 +7857,6 @@ local.get $off local.get $size i32.lt_u - local.set $19 - local.get $19 if local.get $sourceStart local.get $off @@ -7945,12 +7880,12 @@ end end local.get $out - local.set $21 + local.set $20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $21 + local.get $20 ) (func $~lib/staticarray/StaticArray<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -8059,6 +7994,8 @@ i32.const 2 i32.shl local.set $sourceSize + local.get $this + local.set $out i32.const 1 drop global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/staticarray.release.wat b/tests/compiler/std/staticarray.release.wat index cfa8e4e5ea..3e6d7f7e1e 100644 --- a/tests/compiler/std/staticarray.release.wat +++ b/tests/compiler/std/staticarray.release.wat @@ -4580,7 +4580,7 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf7 local.get $6 i32.const 20 @@ -4588,25 +4588,25 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $0 + local.tee $1 i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf7 i32.const 3 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.get $0 + local.get $1 i32.const 3 i32.gt_u select - local.set $1 - loop $while-continue|011 - local.get $1 + local.set $0 + loop $while-continue|04 + local.get $0 i32.const 0 i32.ge_s if local.get $6 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add @@ -4614,17 +4614,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf7 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $while-continue|011 + local.set $0 + br $while-continue|04 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -4636,51 +4636,51 @@ unreachable end i32.const -1 - local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf12 + local.set $0 + block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf58 local.get $6 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $0 + local.tee $1 i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf12 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf58 i32.const 2 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.get $0 + local.get $1 i32.const 2 i32.gt_u select - local.set $1 - loop $while-continue|013 - local.get $1 + local.set $0 + loop $while-continue|01011 + local.get $0 i32.const 0 i32.ge_s if local.get $6 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf12 - local.get $1 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf58 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $while-continue|013 + local.set $0 + br $while-continue|01011 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1216 @@ -4690,46 +4690,46 @@ unreachable end i32.const -1 - local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf14 + local.set $0 + block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf11 local.get $6 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $0 + local.tee $1 i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf14 - local.get $0 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf11 + local.get $1 i32.const 2 i32.sub - local.set $1 + local.set $0 loop $while-continue|015 - local.get $1 + local.get $0 i32.const 0 i32.ge_s if local.get $6 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf14 - local.get $1 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf11 + local.get $0 i32.const 1 i32.sub - local.set $1 + local.set $0 br $while-continue|015 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1216 @@ -4739,7 +4739,7 @@ unreachable end i32.const -1 - local.set $1 + local.set $0 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf16 local.get $6 i32.const 20 @@ -4747,20 +4747,20 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $0 + local.tee $1 i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf16 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $1 - loop $while-continue|017 - local.get $1 + local.set $0 + loop $while-continue|020 + local.get $0 i32.const 0 i32.ge_s if local.get $6 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add @@ -4768,17 +4768,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf16 - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $while-continue|017 + local.set $0 + br $while-continue|020 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -5010,7 +5010,7 @@ i32.gt_u select local.set $1 - loop $for-loop|04 + loop $for-loop|025 local.get $0 local.get $1 i32.gt_s @@ -5026,7 +5026,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|04 + br $for-loop|025 end end local.get $6 @@ -5083,7 +5083,7 @@ i32.const 1 i32.sub local.set $0 - loop $while-continue|01023 + loop $while-continue|031 local.get $2 local.get $6 i32.lt_u @@ -5114,7 +5114,7 @@ i32.const 1 i32.add local.set $2 - br $while-continue|01023 + br $while-continue|031 end end end @@ -5781,7 +5781,7 @@ i32.const 2 i32.shr_u local.set $1 - loop $for-loop|017 + loop $for-loop|037 local.get $0 local.get $1 i32.lt_s @@ -5808,7 +5808,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|017 + br $for-loop|037 end end i32.const 0 @@ -5822,7 +5822,7 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/staticarray/StaticArray#some19 (result i32) + block $__inlined_func$~lib/staticarray/StaticArray#some39 (result i32) global.get $~lib/memory/__stack_pointer i32.const 3440 i32.store $0 offset=24 @@ -5835,7 +5835,7 @@ i32.const 2 i32.shr_u local.set $1 - loop $for-loop|023 + loop $for-loop|043 local.get $0 local.get $1 i32.lt_s @@ -5856,13 +5856,13 @@ i32.const 3440 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#some19 + br_if $__inlined_func$~lib/staticarray/StaticArray#some39 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|023 + br $for-loop|043 end end i32.const 0 @@ -5888,7 +5888,7 @@ i32.const 2 i32.shr_u local.set $1 - loop $for-loop|029 + loop $for-loop|049 local.get $0 local.get $1 i32.lt_s @@ -5916,7 +5916,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|029 + br $for-loop|049 end end i32.const 1 @@ -5930,7 +5930,7 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/staticarray/StaticArray#every31 (result i32) + block $__inlined_func$~lib/staticarray/StaticArray#every51 (result i32) global.get $~lib/memory/__stack_pointer i32.const 3504 i32.store $0 offset=24 @@ -5943,7 +5943,7 @@ i32.const 2 i32.shr_u local.set $1 - loop $for-loop|035 + loop $for-loop|055 local.get $0 local.get $1 i32.lt_s @@ -5965,13 +5965,13 @@ i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#every31 + br_if $__inlined_func$~lib/staticarray/StaticArray#every51 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|035 + br $for-loop|055 end end i32.const 1 @@ -5997,7 +5997,7 @@ i32.shr_u local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#findIndex - loop $for-loop|041 + loop $for-loop|062 local.get $0 local.get $1 i32.lt_s @@ -6022,7 +6022,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|041 + br $for-loop|062 end end i32.const -1 @@ -6051,8 +6051,8 @@ i32.const 2 i32.shr_u local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#findIndex43 - loop $for-loop|047 + block $__inlined_func$~lib/staticarray/StaticArray#findIndex64 + loop $for-loop|068 local.get $0 local.get $1 i32.lt_s @@ -6072,12 +6072,12 @@ i32.const 3568 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex43 + br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex64 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|047 + br $for-loop|068 end end i32.const -1 @@ -6107,7 +6107,7 @@ i32.sub local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#findLastIndex - loop $for-loop|053 + loop $for-loop|073 local.get $1 i32.const 0 i32.ge_s @@ -6132,7 +6132,7 @@ i32.const 1 i32.sub local.set $1 - br $for-loop|053 + br $for-loop|073 end end i32.const -1 @@ -6161,8 +6161,8 @@ i32.const 1 i32.sub local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#findLastIndex55 - loop $for-loop|059 + block $__inlined_func$~lib/staticarray/StaticArray#findLastIndex75 + loop $for-loop|079 local.get $1 i32.const 0 i32.ge_s @@ -6182,12 +6182,12 @@ i32.const 3632 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#findLastIndex55 + br_if $__inlined_func$~lib/staticarray/StaticArray#findLastIndex75 local.get $1 i32.const 1 i32.sub local.set $1 - br $for-loop|059 + br $for-loop|079 end end i32.const -1 @@ -6231,11 +6231,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of18 - block $0of19 - block $outOfRange10 + block $1of19 + block $0of110 + block $outOfRange11 global.get $~argumentsLength - br_table $0of19 $1of18 $outOfRange10 + br_table $0of110 $1of19 $outOfRange11 end unreachable end diff --git a/tests/compiler/std/string-casemapping.debug.wat b/tests/compiler/std/string-casemapping.debug.wat index 0b2524832a..2103cffce6 100644 --- a/tests/compiler/std/string-casemapping.debug.wat +++ b/tests/compiler/std/string-casemapping.debug.wat @@ -275,7 +275,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -287,8 +286,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -535,15 +532,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1590,8 +1584,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1636,8 +1628,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1687,8 +1677,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2405,7 +2393,6 @@ (local $rd i32) (local $xn i32) (local $xb i32) - (local $12 i32) (local $h i32) (local $t i32) local.get $c @@ -2496,8 +2483,6 @@ local.set $xb loop $while-continue|0 local.get $xn - local.set $12 - local.get $12 if local.get $xn i32.const 1 @@ -2637,7 +2622,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2708,8 +2692,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -2929,24 +2911,21 @@ unreachable ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $3 i32) (local $t i32) (local $r i32) (local $d1 i32) (local $d2 i32) (local $digits1 i64) (local $digits2 i64) - (local $t|10 i32) - (local $d1|11 i32) + (local $t|9 i32) + (local $d1|10 i32) (local $digits i32) - (local $digits|13 i32) + (local $digits|12 i32) (local $digit i32) loop $while-continue|0 local.get $num i32.const 10000 i32.ge_u - local.set $3 - local.get $3 if local.get $num i32.const 10000 @@ -3005,19 +2984,19 @@ local.get $num i32.const 100 i32.div_u - local.set $t|10 + local.set $t|9 local.get $num i32.const 100 i32.rem_u - local.set $d1|11 - local.get $t|10 + local.set $d1|10 + local.get $t|9 local.set $num local.get $offset i32.const 2 i32.sub local.set $offset i32.const 18188 - local.get $d1|11 + local.get $d1|10 i32.const 2 i32.shl i32.add @@ -3045,13 +3024,13 @@ i32.shl i32.add i32.load $0 - local.set $digits|13 + local.set $digits|12 local.get $buffer local.get $offset i32.const 1 i32.shl i32.add - local.get $digits|13 + local.get $digits|12 i32.store $0 else local.get $offset @@ -3131,7 +3110,6 @@ unreachable ) (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) (local $t i64) (local $r i32) (local $b i32) @@ -3146,8 +3124,6 @@ local.get $num i64.const 100000000 i64.ge_u - local.set $3 - local.get $3 if local.get $num i64.const 100000000 @@ -3254,13 +3230,10 @@ call $~lib/util/number/utoa32_dec_lut ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) loop $while-continue|0 local.get $offset i32.const 2 i32.ge_u - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -3308,8 +3281,6 @@ (local $b64 i64) (local $b i64) (local $e i32) - (local $6 i32) - (local $7 i32) local.get $base local.set $value local.get $value @@ -3342,8 +3313,6 @@ local.get $num local.get $b i64.ge_u - local.set $6 - local.get $6 if local.get $num local.get $b @@ -3364,8 +3333,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $7 - local.get $7 if local.get $num local.get $b64 @@ -3584,7 +3551,6 @@ (local $ptr i32) (local $max i32) (local $min i32) - (local $18 i32) (local $mid i32) (local $cmp i32) (local $ab i32) @@ -3592,7 +3558,7 @@ (local $code i32) (local $lo i32) (local $hi i32) - (local $26 i32) + (local $25 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3608,12 +3574,12 @@ i32.eqz if local.get $this - local.set $26 + local.set $25 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $26 + local.get $25 return end global.get $~lib/memory/__stack_pointer @@ -3629,11 +3595,11 @@ global.get $~lib/util/casemap/SPECIALS_UPPER local.set $specialsPtr global.get $~lib/util/casemap/SPECIALS_UPPER - local.set $26 + local.set $25 global.get $~lib/memory/__stack_pointer - local.get $26 + local.get $25 i32.store $0 offset=4 - local.get $26 + local.get $25 call $~lib/staticarray/StaticArray#get:length local.set $specialsLen i32.const 0 @@ -3796,8 +3762,6 @@ local.get $min local.get $max i32.le_s - local.set $18 - local.get $18 if local.get $min local.get $max @@ -3956,12 +3920,12 @@ i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.set $26 + local.set $25 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $26 + local.get $25 ) (func $start:std/string-casemapping (type $none_=>_none) (local $0 i32) @@ -6632,26 +6596,24 @@ (local $17 i32) (local $18 i32) (local $minPos i32) - (local $20 i32) - (local $buffer|21 i32) - (local $index|22 i32) - (local $c|23 i32) - (local $c1|24 i32) + (local $buffer|20 i32) + (local $index|21 i32) + (local $c|22 i32) + (local $c1|23 i32) + (local $c|24 i32) (local $c|25 i32) (local $c|26 i32) - (local $c|27 i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $maxPos i32) - (local $31 i32) + (local $c|30 i32) + (local $c1|31 i32) (local $c|32 i32) - (local $c1|33 i32) - (local $c|34 i32) - (local $c|35 i32) + (local $c|33 i32) (local $code i32) (local $lo i32) (local $hi i32) - (local $39 i32) + (local $37 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6667,12 +6629,12 @@ i32.eqz if local.get $this - local.set $39 + local.set $37 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $39 + local.get $37 return end global.get $~lib/memory/__stack_pointer @@ -6860,63 +6822,61 @@ local.get $pos local.get $minPos i32.gt_s - local.set $20 - local.get $20 if block $~lib/util/string/codePointBefore|inlined.0 (result i32) local.get $buffer - local.set $buffer|21 + local.set $buffer|20 local.get $pos - local.set $index|22 - local.get $index|22 + local.set $index|21 + local.get $index|21 i32.const 0 i32.le_s if i32.const -1 br $~lib/util/string/codePointBefore|inlined.0 end - local.get $buffer|21 - local.get $index|22 + local.get $buffer|20 + local.get $index|21 i32.const 1 i32.sub i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $c|23 - local.get $c|23 + local.set $c|22 + local.get $c|22 i32.const 64512 i32.and i32.const 56320 i32.eq - local.get $index|22 + local.get $index|21 i32.const 2 i32.sub i32.const 0 i32.ge_s i32.and if - local.get $buffer|21 - local.get $index|22 + local.get $buffer|20 + local.get $index|21 i32.const 2 i32.sub i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $c1|24 - local.get $c1|24 + local.set $c1|23 + local.get $c1|23 i32.const 64512 i32.and i32.const 55296 i32.eq if - local.get $c1|24 + local.get $c1|23 i32.const 1023 i32.and i32.const 10 i32.shl - local.get $c|23 + local.get $c|22 i32.const 1023 i32.and i32.add @@ -6925,7 +6885,7 @@ br $~lib/util/string/codePointBefore|inlined.0 end end - local.get $c|23 + local.get $c|22 i32.const 63488 i32.and i32.const 55296 @@ -6933,32 +6893,32 @@ if (result i32) i32.const 65533 else - local.get $c|23 + local.get $c|22 end end + local.set $c|24 + local.get $c|24 local.set $c|25 local.get $c|25 - local.set $c|26 - local.get $c|26 i32.const 918000 i32.lt_u if (result i32) i32.const 6188 - local.get $c|26 + local.get $c|25 call $~lib/util/string/stagedBinaryLookup else i32.const 0 end i32.eqz if - local.get $c|25 - local.set $c|27 - local.get $c|27 + local.get $c|24 + local.set $c|26 + local.get $c|26 i32.const 127370 i32.lt_u if (result i32) i32.const 9196 - local.get $c|27 + local.get $c|26 call $~lib/util/string/stagedBinaryLookup else i32.const 0 @@ -6972,7 +6932,7 @@ end end local.get $pos - local.get $c|25 + local.get $c|24 i32.const 65536 i32.ge_s i32.const 1 @@ -6995,11 +6955,11 @@ local.get $pos i32.const 30 i32.add - local.tee $28 + local.tee $27 local.get $len|14 - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $maxPos @@ -7007,8 +6967,6 @@ local.get $pos local.get $maxPos i32.lt_s - local.set $31 - local.get $31 if local.get $buffer local.get $pos @@ -7016,8 +6974,8 @@ i32.shl i32.add i32.load16_u $0 - local.set $c|32 - local.get $c|32 + local.set $c|30 + local.get $c|30 i32.const 64512 i32.and i32.const 55296 @@ -7035,49 +6993,49 @@ i32.shl i32.add i32.load16_u $0 offset=2 - local.set $c1|33 - local.get $c1|33 + local.set $c1|31 + local.get $c1|31 i32.const 64512 i32.and i32.const 56320 i32.eq if - local.get $c|32 + local.get $c|30 i32.const 55296 i32.sub i32.const 10 i32.shl - local.get $c1|33 + local.get $c1|31 i32.const 56320 i32.sub i32.add i32.const 65536 i32.add - local.set $c|32 + local.set $c|30 end end + local.get $c|30 + local.set $c|32 local.get $c|32 - local.set $c|34 - local.get $c|34 i32.const 918000 i32.lt_u if (result i32) i32.const 6188 - local.get $c|34 + local.get $c|32 call $~lib/util/string/stagedBinaryLookup else i32.const 0 end i32.eqz if - local.get $c|32 - local.set $c|35 - local.get $c|35 + local.get $c|30 + local.set $c|33 + local.get $c|33 i32.const 127370 i32.lt_u if (result i32) i32.const 9196 - local.get $c|35 + local.get $c|33 call $~lib/util/string/stagedBinaryLookup else i32.const 0 @@ -7086,7 +7044,7 @@ br $~lib/util/string/isFinalSigma|inlined.0 end local.get $pos - local.get $c|32 + local.get $c|30 i32.const 65536 i32.ge_u i32.const 1 @@ -7202,12 +7160,12 @@ i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.set $39 + local.set $37 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $39 + local.get $37 ) (func $~lib/string/String.fromCodePoint (type $i32_=>_i32) (param $code i32) (result i32) (local $hasSur i32) diff --git a/tests/compiler/std/string-encoding.debug.wat b/tests/compiler/std/string-encoding.debug.wat index 6442d61cd3..b00ee6613b 100644 --- a/tests/compiler/std/string-encoding.debug.wat +++ b/tests/compiler/std/string-encoding.debug.wat @@ -113,7 +113,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -125,8 +124,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -373,15 +370,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1428,8 +1422,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1474,8 +1466,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1525,8 +1515,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2260,7 +2248,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2331,8 +2318,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -2408,7 +2393,6 @@ (local $strOff i32) (local $strEnd i32) (local $bufLen i32) - (local $5 i32) (local $c1 i32) local.get $str local.set $strOff @@ -2428,8 +2412,6 @@ local.get $strOff local.get $strEnd i32.lt_u - local.set $5 - local.get $5 if local.get $strOff i32.load16_u $0 @@ -2511,19 +2493,18 @@ (func $~lib/string/String.UTF8.encodeUnsafe (type $i32_i32_i32_i32_i32_=>_i32) (param $str i32) (param $len i32) (param $buf i32) (param $nullTerminated i32) (param $errorMode i32) (result i32) (local $strEnd i32) (local $bufOff i32) - (local $7 i32) (local $c1 i32) (local $b0 i32) (local $b1 i32) (local $c2 i32) - (local $b0|12 i32) - (local $b1|13 i32) + (local $b0|11 i32) + (local $b1|12 i32) (local $b2 i32) (local $b3 i32) - (local $b0|16 i32) - (local $b1|17 i32) - (local $b2|18 i32) - (local $19 i32) + (local $b0|15 i32) + (local $b1|16 i32) + (local $b2|17 i32) + (local $18 i32) local.get $str local.get $len i32.const 1 @@ -2536,8 +2517,6 @@ local.get $str local.get $strEnd i32.lt_u - local.set $7 - local.get $7 if local.get $str i32.load16_u $0 @@ -2637,7 +2616,7 @@ i32.shr_u i32.const 240 i32.or - local.set $b0|12 + local.set $b0|11 local.get $c1 i32.const 12 i32.shr_u @@ -2645,7 +2624,7 @@ i32.and i32.const 128 i32.or - local.set $b1|13 + local.set $b1|12 local.get $c1 i32.const 6 i32.shr_u @@ -2668,11 +2647,11 @@ i32.const 16 i32.shl i32.or - local.get $b1|13 + local.get $b1|12 i32.const 8 i32.shl i32.or - local.get $b0|12 + local.get $b0|11 i32.or i32.store $0 local.get $bufOff @@ -2710,7 +2689,7 @@ i32.shr_u i32.const 224 i32.or - local.set $b0|16 + local.set $b0|15 local.get $c1 i32.const 6 i32.shr_u @@ -2718,22 +2697,22 @@ i32.and i32.const 128 i32.or - local.set $b1|17 + local.set $b1|16 local.get $c1 i32.const 63 i32.and i32.const 128 i32.or - local.set $b2|18 + local.set $b2|17 local.get $bufOff - local.get $b1|17 + local.get $b1|16 i32.const 8 i32.shl - local.get $b0|16 + local.get $b0|15 i32.or i32.store16 $0 local.get $bufOff - local.get $b2|18 + local.get $b2|17 i32.store8 $0 offset=2 local.get $bufOff i32.const 3 @@ -2751,11 +2730,11 @@ local.get $nullTerminated if local.get $bufOff - local.tee $19 + local.tee $18 i32.const 1 i32.add local.set $bufOff - local.get $19 + local.get $18 i32.const 0 i32.store8 $0 end @@ -2843,8 +2822,6 @@ call $~lib/string/String.UTF8.decodeUnsafe ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2855,8 +2832,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2870,8 +2845,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop @@ -4824,13 +4797,12 @@ (local $bufEnd i32) (local $str i32) (local $strOff i32) - (local $7 i32) (local $u0 i32) (local $u1 i32) (local $u2 i32) (local $lo i32) (local $hi i32) - (local $13 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4872,8 +4844,6 @@ local.get $bufOff local.get $bufEnd i32.lt_u - local.set $7 - local.get $7 if local.get $bufOff i32.load8_u $0 @@ -5044,11 +5014,11 @@ local.get $str i32.sub call $~lib/rt/itcms/__renew - local.set $13 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 + local.get $12 ) ) diff --git a/tests/compiler/std/string-nonnull.debug.wat b/tests/compiler/std/string-nonnull.debug.wat index 2d4d4bfe88..59c2141602 100644 --- a/tests/compiler/std/string-nonnull.debug.wat +++ b/tests/compiler/std/string-nonnull.debug.wat @@ -34,7 +34,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -105,8 +104,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 diff --git a/tests/compiler/std/string.debug.wat b/tests/compiler/std/string.debug.wat index ab8d0f1270..13cf437b2e 100644 --- a/tests/compiler/std/string.debug.wat +++ b/tests/compiler/std/string.debug.wat @@ -564,7 +564,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -635,8 +634,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -831,7 +828,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -843,8 +839,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -1091,15 +1085,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -2146,8 +2137,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -2192,8 +2181,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -2243,8 +2230,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -3285,7 +3270,6 @@ (func $~lib/memory/memory.repeat (type $i32_i32_i32_i32_=>_none) (param $dst i32) (param $src i32) (param $srcLength i32) (param $count i32) (local $index i32) (local $total i32) - (local $6 i32) i32.const 0 local.set $index local.get $srcLength @@ -3296,8 +3280,6 @@ local.get $index local.get $total i32.lt_u - local.set $6 - local.get $6 if local.get $dst local.get $index @@ -3525,8 +3507,6 @@ (func $~lib/util/string/strtob (type $i32_=>_i32) (param $str i32) (result i32) (local $size i32) (local $offset i32) - (local $3 i32) - (local $4 i32) local.get $str call $~lib/string/String#get:length i32.const 1 @@ -3551,8 +3531,6 @@ else i32.const 0 end - local.set $3 - local.get $3 if local.get $size i32.const 2 @@ -3578,8 +3556,6 @@ else i32.const 0 end - local.set $4 - local.get $4 if local.get $offset i32.const 2 @@ -3612,13 +3588,11 @@ (local $len i32) (local $ptr i32) (local $code i32) - (local $5 i32) (local $sign f64) - (local $7 i32) + (local $6 i32) (local $num f64) (local $initial i32) - (local $10 i32) - (local $11 i32) + (local $9 i32) local.get $str call $~lib/string/String#get:length local.set $len @@ -3638,8 +3612,6 @@ loop $while-continue|0 local.get $code call $~lib/util/string/isSpace - local.set $5 - local.get $5 if local.get $ptr i32.const 2 @@ -3765,16 +3737,16 @@ i32.load16_u $0 offset=2 i32.const 32 i32.or - local.set $7 - local.get $7 + local.set $6 + local.get $6 i32.const 98 i32.eq br_if $case0|1 - local.get $7 + local.get $6 i32.const 111 i32.eq br_if $case1|1 - local.get $7 + local.get $6 i32.const 120 i32.eq br_if $case2|1 @@ -3833,13 +3805,11 @@ block $while-break|2 loop $while-continue|2 local.get $len - local.tee $10 + local.tee $9 i32.const 1 i32.sub local.set $len - local.get $10 - local.set $11 - local.get $11 + local.get $9 if local.get $ptr i32.load16_u $0 @@ -3931,7 +3901,6 @@ (local $out i32) (local $log i32) (local $4 i32) - (local $5 i32) i32.const 1 local.set $out i32.const 0 @@ -4122,8 +4091,6 @@ end loop $while-continue|1 local.get $e - local.set $5 - local.get $5 if local.get $e i32.const 1 @@ -4245,64 +4212,61 @@ (local $ptr i32) (local $code i32) (local $sign f64) - (local $5 i32) (local $savedPtr i32) - (local $7 i32) (local $pointed i32) (local $consumed i32) (local $position i32) (local $x i64) (local $noDigits i32) - (local $13 i32) + (local $11 i32) (local $digit i32) + (local $13 i32) + (local $14 i32) (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $ptr|18 i32) - (local $len|19 i32) - (local $sign|20 i32) + (local $ptr|16 i32) + (local $len|17 i32) + (local $sign|18 i32) (local $magnitude i32) - (local $code|22 i32) - (local $23 i32) - (local $digit|24 i32) - (local $25 i32) + (local $code|20 i32) + (local $digit|21 i32) + (local $22 i32) (local $significand i64) (local $exp i32) (local $significandf f64) (local $n i32) - (local $30 i32) - (local $31 i32) - (local $n|32 i32) - (local $n|33 i32) - (local $significand|34 i64) - (local $exp|35 i32) + (local $27 i32) + (local $28 i32) + (local $n|29 i32) + (local $n|30 i32) + (local $significand|31 i64) + (local $exp|32 i32) (local $shift i64) - (local $37 i32) + (local $34 i32) (local $q i64) (local $r i64) (local $s i64) (local $b i64) - (local $q|42 i64) - (local $r|43 i64) - (local $s|44 i64) - (local $significand|45 i64) - (local $exp|46 i32) - (local $shift|47 i64) - (local $48 i32) + (local $q|39 i64) + (local $r|40 i64) + (local $s|41 i64) + (local $significand|42 i64) + (local $exp|43 i32) + (local $shift|44 i64) + (local $45 i32) (local $a i64) - (local $b|50 i32) + (local $b|47 i32) (local $low i64) (local $high i64) (local $overflow i32) (local $space i32) (local $revspace i64) - (local $a|56 i64) - (local $b|57 i32) - (local $low|58 i64) - (local $high|59 i64) - (local $overflow|60 i32) - (local $space|61 i32) - (local $revspace|62 i64) + (local $a|53 i64) + (local $b|54 i32) + (local $low|55 i64) + (local $high|56 i64) + (local $overflow|57 i32) + (local $space|58 i32) + (local $revspace|59 i64) local.get $str call $~lib/string/String#get:length local.set $len @@ -4327,8 +4291,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $ptr i32.const 2 @@ -4446,8 +4408,6 @@ local.get $code i32.const 48 i32.eq - local.set $7 - local.get $7 if local.get $ptr i32.const 2 @@ -4515,8 +4475,8 @@ local.tee $code i32.const 48 i32.eq - local.set $13 - local.get $13 + local.set $11 + local.get $11 if local.get $len i32.const 1 @@ -4585,8 +4545,8 @@ i32.const 0 end end - local.set $15 - local.get $15 + local.set $13 + local.get $13 if local.get $digit i32.const 10 @@ -4654,27 +4614,27 @@ local.set $significand local.get $position i32.const 19 - local.tee $16 + local.tee $14 local.get $consumed - local.tee $17 - local.get $16 - local.get $17 + local.tee $15 + local.get $14 + local.get $15 i32.lt_s select i32.sub block $~lib/util/string/parseExp|inlined.0 (result i32) local.get $ptr - local.set $ptr|18 + local.set $ptr|16 local.get $len - local.set $len|19 + local.set $len|17 i32.const 1 - local.set $sign|20 + local.set $sign|18 i32.const 0 local.set $magnitude - local.get $ptr|18 + local.get $ptr|16 i32.load16_u $0 - local.set $code|22 - local.get $code|22 + local.set $code|20 + local.get $code|20 i32.const 32 i32.or i32.const 101 @@ -4683,110 +4643,108 @@ i32.const 0 br $~lib/util/string/parseExp|inlined.0 end - local.get $len|19 + local.get $len|17 i32.const 1 i32.sub - local.tee $len|19 + local.tee $len|17 i32.eqz if i32.const 0 br $~lib/util/string/parseExp|inlined.0 end - local.get $ptr|18 + local.get $ptr|16 i32.const 2 i32.add - local.tee $ptr|18 + local.tee $ptr|16 i32.load16_u $0 - local.set $code|22 - local.get $code|22 + local.set $code|20 + local.get $code|20 i32.const 45 i32.eq if - local.get $len|19 + local.get $len|17 i32.const 1 i32.sub - local.tee $len|19 + local.tee $len|17 i32.eqz if i32.const 0 br $~lib/util/string/parseExp|inlined.0 end - local.get $ptr|18 + local.get $ptr|16 i32.const 2 i32.add - local.tee $ptr|18 + local.tee $ptr|16 i32.load16_u $0 - local.set $code|22 + local.set $code|20 i32.const -1 - local.set $sign|20 + local.set $sign|18 else - local.get $code|22 + local.get $code|20 i32.const 43 i32.eq if - local.get $len|19 + local.get $len|17 i32.const 1 i32.sub - local.tee $len|19 + local.tee $len|17 i32.eqz if i32.const 0 br $~lib/util/string/parseExp|inlined.0 end - local.get $ptr|18 + local.get $ptr|16 i32.const 2 i32.add - local.tee $ptr|18 + local.tee $ptr|16 i32.load16_u $0 - local.set $code|22 + local.set $code|20 end end loop $while-continue|4 - local.get $code|22 + local.get $code|20 i32.const 48 i32.eq - local.set $23 - local.get $23 if - local.get $len|19 + local.get $len|17 i32.const 1 i32.sub - local.tee $len|19 + local.tee $len|17 i32.eqz if i32.const 0 br $~lib/util/string/parseExp|inlined.0 end - local.get $ptr|18 + local.get $ptr|16 i32.const 2 i32.add - local.tee $ptr|18 + local.tee $ptr|16 i32.load16_u $0 - local.set $code|22 + local.set $code|20 br $while-continue|4 end end - local.get $code|22 + local.get $code|20 i32.const 48 i32.sub - local.set $digit|24 + local.set $digit|21 loop $for-loop|5 - local.get $len|19 + local.get $len|17 if (result i32) - local.get $digit|24 + local.get $digit|21 i32.const 10 i32.lt_u else i32.const 0 end - local.set $25 - local.get $25 + local.set $22 + local.get $22 if local.get $magnitude i32.const 3200 i32.ge_s if - local.get $sign|20 + local.get $sign|18 i32.const 3200 i32.mul br $~lib/util/string/parseExp|inlined.0 @@ -4794,27 +4752,27 @@ i32.const 10 local.get $magnitude i32.mul - local.get $digit|24 + local.get $digit|21 i32.add local.set $magnitude - local.get $ptr|18 + local.get $ptr|16 i32.const 2 i32.add - local.tee $ptr|18 + local.tee $ptr|16 i32.load16_u $0 - local.set $code|22 - local.get $len|19 + local.set $code|20 + local.get $len|17 i32.const 1 i32.sub - local.set $len|19 - local.get $code|22 + local.set $len|17 + local.get $code|20 i32.const 48 i32.sub - local.set $digit|24 + local.set $digit|21 br $for-loop|5 end end - local.get $sign|20 + local.get $sign|18 local.get $magnitude i32.mul end @@ -4885,13 +4843,13 @@ i64.le_u if (result i32) local.get $exp - local.tee $30 + local.tee $27 i32.const 31 i32.shr_s - local.tee $31 - local.get $30 + local.tee $28 + local.get $27 i32.add - local.get $31 + local.get $28 i32.xor i32.const 22 i32.le_s @@ -4905,9 +4863,9 @@ if local.get $significandf local.get $exp - local.set $n|32 + local.set $n|29 i32.const 3648 - local.get $n|32 + local.get $n|29 i32.const 3 i32.shl i32.add @@ -4919,9 +4877,9 @@ i32.const 0 local.get $exp i32.sub - local.set $n|33 + local.set $n|30 i32.const 3648 - local.get $n|33 + local.get $n|30 i32.const 3 i32.shl i32.add @@ -4934,33 +4892,33 @@ i32.lt_s if local.get $significand - local.set $significand|34 + local.set $significand|31 local.get $exp - local.set $exp|35 - local.get $significand|34 + local.set $exp|32 + local.get $significand|31 i64.clz local.set $shift - local.get $significand|34 + local.get $significand|31 local.get $shift i64.shl - local.set $significand|34 - local.get $exp|35 + local.set $significand|31 + local.get $exp|32 i64.extend_i32_s local.get $shift i64.sub local.set $shift loop $for-loop|6 - local.get $exp|35 + local.get $exp|32 i32.const -14 i32.le_s - local.set $37 - local.get $37 + local.set $34 + local.get $34 if - local.get $significand|34 + local.get $significand|31 i64.const 6103515625 i64.div_u local.set $q - local.get $significand|34 + local.get $significand|31 i64.const 6103515625 i64.rem_u local.set $r @@ -4981,43 +4939,43 @@ f64.nearest i64.trunc_sat_f64_u i64.add - local.set $significand|34 + local.set $significand|31 local.get $shift local.get $s i64.sub local.set $shift - local.get $exp|35 + local.get $exp|32 i32.const 14 i32.add - local.set $exp|35 + local.set $exp|32 br $for-loop|6 end end i32.const 5 i32.const 0 - local.get $exp|35 + local.get $exp|32 i32.sub call $~lib/math/ipow32 i64.extend_i32_s local.set $b - local.get $significand|34 + local.get $significand|31 local.get $b i64.div_u - local.set $q|42 - local.get $significand|34 + local.set $q|39 + local.get $significand|31 local.get $b i64.rem_u - local.set $r|43 - local.get $q|42 + local.set $r|40 + local.get $q|39 i64.clz - local.set $s|44 - local.get $q|42 - local.get $s|44 + local.set $s|41 + local.get $q|39 + local.get $s|41 i64.shl - local.get $r|43 + local.get $r|40 f64.convert_i64_u i64.reinterpret_f64 - local.get $s|44 + local.get $s|41 i64.const 52 i64.shl i64.add @@ -5027,12 +4985,12 @@ f64.div i64.trunc_sat_f64_u i64.add - local.set $significand|34 + local.set $significand|31 local.get $shift - local.get $s|44 + local.get $s|41 i64.sub local.set $shift - local.get $significand|34 + local.get $significand|31 f64.convert_i64_u local.get $shift i32.wrap_i64 @@ -5040,45 +4998,45 @@ br $~lib/util/string/scientific|inlined.0 else local.get $significand - local.set $significand|45 + local.set $significand|42 local.get $exp - local.set $exp|46 - local.get $significand|45 + local.set $exp|43 + local.get $significand|42 i64.ctz - local.set $shift|47 - local.get $significand|45 - local.get $shift|47 + local.set $shift|44 + local.get $significand|42 + local.get $shift|44 i64.shr_u - local.set $significand|45 - local.get $shift|47 - local.get $exp|46 + local.set $significand|42 + local.get $shift|44 + local.get $exp|43 i64.extend_i32_s i64.add - local.set $shift|47 - local.get $shift|47 + local.set $shift|44 + local.get $shift|44 global.set $~lib/util/string/__fixmulShift loop $for-loop|7 - local.get $exp|46 + local.get $exp|43 i32.const 13 i32.ge_s - local.set $48 - local.get $48 + local.set $45 + local.get $45 if - local.get $significand|45 + local.get $significand|42 local.set $a i32.const 1220703125 - local.set $b|50 + local.set $b|47 local.get $a i64.const 4294967295 i64.and - local.get $b|50 + local.get $b|47 i64.extend_i32_u i64.mul local.set $low local.get $a i64.const 32 i64.shr_u - local.get $b|50 + local.get $b|47 i64.extend_i32_u i64.mul local.get $low @@ -5122,67 +5080,67 @@ i64.const 1 i64.and i64.add - local.set $significand|45 - local.get $exp|46 + local.set $significand|42 + local.get $exp|43 i32.const 13 i32.sub - local.set $exp|46 + local.set $exp|43 br $for-loop|7 end end - local.get $significand|45 - local.set $a|56 + local.get $significand|42 + local.set $a|53 i32.const 5 - local.get $exp|46 + local.get $exp|43 call $~lib/math/ipow32 - local.set $b|57 - local.get $a|56 + local.set $b|54 + local.get $a|53 i64.const 4294967295 i64.and - local.get $b|57 + local.get $b|54 i64.extend_i32_u i64.mul - local.set $low|58 - local.get $a|56 + local.set $low|55 + local.get $a|53 i64.const 32 i64.shr_u - local.get $b|57 + local.get $b|54 i64.extend_i32_u i64.mul - local.get $low|58 + local.get $low|55 i64.const 32 i64.shr_u i64.add - local.set $high|59 - local.get $high|59 + local.set $high|56 + local.get $high|56 i64.const 32 i64.shr_u i32.wrap_i64 - local.set $overflow|60 - local.get $overflow|60 + local.set $overflow|57 + local.get $overflow|57 i32.clz - local.set $space|61 + local.set $space|58 i64.const 32 - local.get $space|61 + local.get $space|58 i64.extend_i32_u i64.sub - local.set $revspace|62 + local.set $revspace|59 global.get $~lib/util/string/__fixmulShift - local.get $revspace|62 + local.get $revspace|59 i64.add global.set $~lib/util/string/__fixmulShift - local.get $high|59 - local.get $space|61 + local.get $high|56 + local.get $space|58 i64.extend_i32_u i64.shl - local.get $low|58 + local.get $low|55 i64.const 4294967295 i64.and - local.get $revspace|62 + local.get $revspace|59 i64.shr_u i64.or - local.get $low|58 - local.get $space|61 + local.get $low|55 + local.get $space|58 i64.extend_i32_u i64.shl i64.const 31 @@ -5190,12 +5148,12 @@ i64.const 1 i64.and i64.add - local.set $significand|45 + local.set $significand|42 global.get $~lib/util/string/__fixmulShift - local.set $shift|47 - local.get $significand|45 + local.set $shift|44 + local.get $significand|42 f64.convert_i64_u - local.get $shift|47 + local.get $shift|44 i32.wrap_i64 call $~lib/math/NativeMath.scalbn br $~lib/util/string/scientific|inlined.0 @@ -5220,13 +5178,11 @@ (local $len i32) (local $ptr i32) (local $code i32) - (local $5 i32) (local $sign i32) - (local $7 i32) + (local $6 i32) (local $num i32) (local $initial i32) - (local $10 i32) - (local $11 i32) + (local $9 i32) local.get $str call $~lib/string/String#get:length local.set $len @@ -5246,8 +5202,6 @@ loop $while-continue|0 local.get $code call $~lib/util/string/isSpace - local.set $5 - local.get $5 if local.get $ptr i32.const 2 @@ -5373,16 +5327,16 @@ i32.load16_u $0 offset=2 i32.const 32 i32.or - local.set $7 - local.get $7 + local.set $6 + local.get $6 i32.const 98 i32.eq br_if $case0|1 - local.get $7 + local.get $6 i32.const 111 i32.eq br_if $case1|1 - local.get $7 + local.get $6 i32.const 120 i32.eq br_if $case2|1 @@ -5441,13 +5395,11 @@ block $while-break|2 loop $while-continue|2 local.get $len - local.tee $10 + local.tee $9 i32.const 1 i32.sub local.set $len - local.get $10 - local.set $11 - local.get $11 + local.get $9 if local.get $ptr i32.load16_u $0 @@ -5537,13 +5489,11 @@ (local $len i32) (local $ptr i32) (local $code i32) - (local $5 i32) (local $sign i64) - (local $7 i32) + (local $6 i32) (local $num i64) (local $initial i32) - (local $10 i32) - (local $11 i32) + (local $9 i32) local.get $str call $~lib/string/String#get:length local.set $len @@ -5563,8 +5513,6 @@ loop $while-continue|0 local.get $code call $~lib/util/string/isSpace - local.set $5 - local.get $5 if local.get $ptr i32.const 2 @@ -5690,16 +5638,16 @@ i32.load16_u $0 offset=2 i32.const 32 i32.or - local.set $7 - local.get $7 + local.set $6 + local.get $6 i32.const 98 i32.eq br_if $case0|1 - local.get $7 + local.get $6 i32.const 111 i32.eq br_if $case1|1 - local.get $7 + local.get $6 i32.const 120 i32.eq br_if $case2|1 @@ -5758,13 +5706,11 @@ block $while-break|2 loop $while-continue|2 local.get $len - local.tee $10 + local.tee $9 i32.const 1 i32.sub local.set $len - local.get $10 - local.set $11 - local.get $11 + local.get $9 if local.get $ptr i32.load16_u $0 @@ -6289,24 +6235,21 @@ unreachable ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $3 i32) (local $t i32) (local $r i32) (local $d1 i32) (local $d2 i32) (local $digits1 i64) (local $digits2 i64) - (local $t|10 i32) - (local $d1|11 i32) + (local $t|9 i32) + (local $d1|10 i32) (local $digits i32) - (local $digits|13 i32) + (local $digits|12 i32) (local $digit i32) loop $while-continue|0 local.get $num i32.const 10000 i32.ge_u - local.set $3 - local.get $3 if local.get $num i32.const 10000 @@ -6365,19 +6308,19 @@ local.get $num i32.const 100 i32.div_u - local.set $t|10 + local.set $t|9 local.get $num i32.const 100 i32.rem_u - local.set $d1|11 - local.get $t|10 + local.set $d1|10 + local.get $t|9 local.set $num local.get $offset i32.const 2 i32.sub local.set $offset i32.const 15196 - local.get $d1|11 + local.get $d1|10 i32.const 2 i32.shl i32.add @@ -6405,13 +6348,13 @@ i32.shl i32.add i32.load $0 - local.set $digits|13 + local.set $digits|12 local.get $buffer local.get $offset i32.const 1 i32.shl i32.add - local.get $digits|13 + local.get $digits|12 i32.store $0 else local.get $offset @@ -6432,13 +6375,10 @@ end ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) loop $while-continue|0 local.get $offset i32.const 2 i32.ge_u - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -6486,8 +6426,6 @@ (local $b64 i64) (local $b i64) (local $e i32) - (local $6 i32) - (local $7 i32) local.get $base local.set $value local.get $value @@ -6520,8 +6458,6 @@ local.get $num local.get $b i64.ge_u - local.set $6 - local.get $6 if local.get $num local.get $b @@ -6542,8 +6478,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $7 - local.get $7 if local.get $num local.get $b64 @@ -6711,7 +6645,6 @@ unreachable ) (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) (local $t i64) (local $r i32) (local $b i32) @@ -6726,8 +6659,6 @@ local.get $num i64.const 100000000 i64.ge_u - local.set $3 - local.get $3 if local.get $num i64.const 100000000 @@ -6842,32 +6773,28 @@ (local $p2 i64) (local $kappa i32) (local $len i32) - (local $15 i32) (local $d i32) + (local $16 i32) (local $17 i32) - (local $18 i32) (local $tmp i64) - (local $buffer|20 i32) - (local $len|21 i32) - (local $delta|22 i64) + (local $buffer|19 i32) + (local $len|20 i32) + (local $delta|21 i64) (local $rest i64) (local $ten_kappa i64) (local $wp_w i64) (local $lastp i32) (local $digit i32) + (local $d|27 i64) (local $28 i32) - (local $29 i32) - (local $d|30 i64) - (local $31 i32) - (local $buffer|32 i32) - (local $len|33 i32) - (local $delta|34 i64) - (local $rest|35 i64) - (local $ten_kappa|36 i64) - (local $wp_w|37 i64) - (local $lastp|38 i32) - (local $digit|39 i32) - (local $40 i32) + (local $buffer|29 i32) + (local $len|30 i32) + (local $delta|31 i64) + (local $rest|32 i64) + (local $ten_kappa|33 i64) + (local $wp_w|34 i64) + (local $lastp|35 i32) + (local $digit|36 i32) i32.const 0 local.get $mp_exp i32.sub @@ -6904,8 +6831,6 @@ local.get $kappa i32.const 0 i32.gt_s - local.set $15 - local.get $15 if block $break|1 block $case10|1 @@ -6920,44 +6845,44 @@ block $case1|1 block $case0|1 local.get $kappa - local.set $17 - local.get $17 + local.set $16 + local.get $16 i32.const 10 i32.eq br_if $case0|1 - local.get $17 + local.get $16 i32.const 9 i32.eq br_if $case1|1 - local.get $17 + local.get $16 i32.const 8 i32.eq br_if $case2|1 - local.get $17 + local.get $16 i32.const 7 i32.eq br_if $case3|1 - local.get $17 + local.get $16 i32.const 6 i32.eq br_if $case4|1 - local.get $17 + local.get $16 i32.const 5 i32.eq br_if $case5|1 - local.get $17 + local.get $16 i32.const 4 i32.eq br_if $case6|1 - local.get $17 + local.get $16 i32.const 3 i32.eq br_if $case7|1 - local.get $17 + local.get $16 i32.const 2 i32.eq br_if $case8|1 - local.get $17 + local.get $16 i32.const 1 i32.eq br_if $case9|1 @@ -7069,11 +6994,11 @@ if local.get $buffer local.get $len - local.tee $18 + local.tee $17 i32.const 1 i32.add local.set $len - local.get $18 + local.get $17 i32.const 1 i32.shl i32.add @@ -7105,11 +7030,11 @@ i32.add global.set $~lib/util/number/_K local.get $buffer - local.set $buffer|20 + local.set $buffer|19 local.get $len - local.set $len|21 + local.set $len|20 local.get $delta - local.set $delta|22 + local.set $delta|21 local.get $tmp local.set $rest i32.const 23248 @@ -7124,8 +7049,8 @@ local.set $ten_kappa local.get $wp_w_frc local.set $wp_w - local.get $buffer|20 - local.get $len|21 + local.get $buffer|19 + local.get $len|20 i32.const 1 i32.sub i32.const 1 @@ -7140,7 +7065,7 @@ local.get $wp_w i64.lt_u if (result i32) - local.get $delta|22 + local.get $delta|21 local.get $rest i64.sub local.get $ten_kappa @@ -7170,8 +7095,6 @@ else i32.const 0 end - local.set $28 - local.get $28 if local.get $digit i32.const 1 @@ -7195,8 +7118,6 @@ end loop $while-continue|4 i32.const 1 - local.set $29 - local.get $29 if local.get $p2 i64.const 10 @@ -7210,8 +7131,8 @@ local.get $one_exp i64.extend_i32_s i64.shr_u - local.set $d|30 - local.get $d|30 + local.set $d|27 + local.get $d|27 local.get $len i64.extend_i32_s i64.or @@ -7220,16 +7141,16 @@ if local.get $buffer local.get $len - local.tee $31 + local.tee $28 i32.const 1 i32.add local.set $len - local.get $31 + local.get $28 i32.const 1 i32.shl i32.add i32.const 48 - local.get $d|30 + local.get $d|27 i32.wrap_i64 i32.const 65535 i32.and @@ -7264,79 +7185,77 @@ i64.mul local.set $wp_w_frc local.get $buffer - local.set $buffer|32 + local.set $buffer|29 local.get $len - local.set $len|33 + local.set $len|30 local.get $delta - local.set $delta|34 + local.set $delta|31 local.get $p2 - local.set $rest|35 + local.set $rest|32 local.get $one_frc - local.set $ten_kappa|36 + local.set $ten_kappa|33 local.get $wp_w_frc - local.set $wp_w|37 - local.get $buffer|32 - local.get $len|33 + local.set $wp_w|34 + local.get $buffer|29 + local.get $len|30 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $lastp|38 - local.get $lastp|38 + local.set $lastp|35 + local.get $lastp|35 i32.load16_u $0 - local.set $digit|39 + local.set $digit|36 loop $while-continue|6 - local.get $rest|35 - local.get $wp_w|37 + local.get $rest|32 + local.get $wp_w|34 i64.lt_u if (result i32) - local.get $delta|34 - local.get $rest|35 + local.get $delta|31 + local.get $rest|32 i64.sub - local.get $ten_kappa|36 + local.get $ten_kappa|33 i64.ge_u else i32.const 0 end if (result i32) - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.lt_u if (result i32) i32.const 1 else - local.get $wp_w|37 - local.get $rest|35 + local.get $wp_w|34 + local.get $rest|32 i64.sub - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.sub i64.gt_u end else i32.const 0 end - local.set $40 - local.get $40 if - local.get $digit|39 + local.get $digit|36 i32.const 1 i32.sub - local.set $digit|39 - local.get $rest|35 - local.get $ten_kappa|36 + local.set $digit|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.set $rest|35 + local.set $rest|32 br $while-continue|6 end end - local.get $lastp|38 - local.get $digit|39 + local.get $lastp|35 + local.get $digit|36 i32.store16 $0 local.get $len return @@ -8143,8 +8062,6 @@ i32.add ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -8155,8 +8072,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -8170,8 +8085,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop @@ -8276,7 +8189,6 @@ (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -8294,8 +8206,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 @@ -8396,12 +8306,11 @@ (local $end i32) (local $start i32) (local $i|18 i32) - (local $19 i32) (local $len i32) (local $out i32) - (local $len|22 i32) - (local $out|23 i32) - (local $24 i32) + (local $len|21 i32) + (local $out|22 i32) + (local $23 i32) global.get $~lib/memory/__stack_pointer i32.const 36 i32.sub @@ -8419,12 +8328,12 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return end local.get $separator @@ -8449,12 +8358,12 @@ local.get $this call $~lib/array/Array<~lib/string/String>#__uset local.get $3 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return end local.get $this @@ -8481,12 +8390,12 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return end local.get $length @@ -8551,12 +8460,12 @@ end end local.get $result - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return else local.get $length @@ -8575,12 +8484,12 @@ i32.const 688 i32.store $0 local.get $result|14 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return end end @@ -8606,8 +8515,6 @@ local.tee $end i32.const -1 i32.xor - local.set $19 - local.get $19 if local.get $end local.get $start @@ -8642,11 +8549,11 @@ else local.get $result|15 i32.const 688 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer - local.get $24 + local.get $23 i32.store $0 offset=28 - local.get $24 + local.get $23 call $~lib/array/Array<~lib/string/String>#push drop end @@ -8658,12 +8565,12 @@ i32.eq if local.get $result|15 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return end local.get $end @@ -8681,62 +8588,62 @@ call $~lib/array/Array<~lib/string/String>#push drop local.get $result|15 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 return end local.get $length local.get $start i32.sub - local.set $len|22 - local.get $len|22 + local.set $len|21 + local.get $len|21 i32.const 0 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $len|22 + local.get $len|21 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $out|23 + local.tee $out|22 i32.store $0 offset=32 - local.get $out|23 + local.get $out|22 local.get $this local.get $start i32.const 1 i32.shl i32.add - local.get $len|22 + local.get $len|21 i32.const 1 i32.shl memory.copy $0 $0 local.get $result|15 - local.get $out|23 + local.get $out|22 call $~lib/array/Array<~lib/string/String>#push drop else local.get $result|15 i32.const 688 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer - local.get $24 + local.get $23 i32.store $0 offset=28 - local.get $24 + local.get $23 call $~lib/array/Array<~lib/string/String>#push drop end local.get $result|15 - local.set $24 + local.set $23 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $24 + local.get $23 ) (func $start:std/string (type $none_=>_none) (local $0 i32) @@ -25174,9 +25081,8 @@ (func $~lib/string/String#trimStart (type $i32_=>_i32) (param $this i32) (result i32) (local $size i32) (local $offset i32) - (local $3 i32) (local $out i32) - (local $5 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25205,8 +25111,6 @@ else i32.const 0 end - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -25219,12 +25123,12 @@ i32.eqz if local.get $this - 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 $5 + local.get $4 return end local.get $size @@ -25235,12 +25139,12 @@ i32.eqz if i32.const 688 - 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 $5 + local.get $4 return end global.get $~lib/memory/__stack_pointer @@ -25256,19 +25160,18 @@ local.get $size memory.copy $0 $0 local.get $out - 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 $5 + local.get $4 ) (func $~lib/string/String#trimEnd (type $i32_=>_i32) (param $this i32) (result i32) (local $originalSize i32) (local $size i32) - (local $3 i32) (local $out i32) - (local $5 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25297,8 +25200,6 @@ else i32.const 0 end - local.set $3 - local.get $3 if local.get $size i32.const 2 @@ -25311,12 +25212,12 @@ i32.eqz if i32.const 688 - 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 $5 + local.get $4 return end local.get $size @@ -25324,12 +25225,12 @@ i32.eq if local.get $this - 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 $5 + local.get $4 return end global.get $~lib/memory/__stack_pointer @@ -25343,21 +25244,19 @@ local.get $size memory.copy $0 $0 local.get $out - 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 $5 + local.get $4 ) (func $~lib/string/String#trim (type $i32_=>_i32) (param $this i32) (result i32) (local $len i32) (local $size i32) - (local $3 i32) (local $offset i32) - (local $5 i32) (local $out i32) - (local $7 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25386,8 +25285,6 @@ else i32.const 0 end - local.set $3 - local.get $3 if local.get $size i32.const 2 @@ -25411,8 +25308,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $offset i32.const 2 @@ -25429,12 +25324,12 @@ i32.eqz if i32.const 688 - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $5 return end local.get $offset @@ -25450,12 +25345,12 @@ end if local.get $this - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $5 return end global.get $~lib/memory/__stack_pointer @@ -25471,12 +25366,12 @@ local.get $size memory.copy $0 $0 local.get $out - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $5 ) (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) (local $thisSize i32) @@ -25783,14 +25678,12 @@ (local $next i32) (local $outSize i32) (local $out|14 i32) - (local $15 i32) - (local $out|16 i32) - (local $offset|17 i32) - (local $outSize|18 i32) - (local $19 i32) + (local $out|15 i32) + (local $offset|16 i32) + (local $outSize|17 i32) (local $chunk i32) (local $rest i32) - (local $22 i32) + (local $20 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -25825,12 +25718,12 @@ call $~lib/string/String.__eq select end - local.set $22 + local.set $20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $20 return end local.get $replacement @@ -25843,12 +25736,12 @@ i32.eqz if local.get $this - local.set $22 + local.set $20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $20 return end global.get $~lib/memory/__stack_pointer @@ -25921,12 +25814,12 @@ end end local.get $out - local.set $22 + local.set $20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $20 return end i32.const 0 @@ -25959,8 +25852,6 @@ local.tee $next i32.const -1 i32.xor - local.set $15 - local.get $15 if local.get $out|14 local.get $next @@ -25980,20 +25871,20 @@ end end local.get $out|14 - local.set $22 + local.set $20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $20 return end i32.const 0 - local.set $out|16 + local.set $out|15 i32.const 0 - local.set $offset|17 + local.set $offset|16 local.get $thisLen - local.set $outSize|18 + local.set $outSize|17 loop $while-continue|2 local.get $this local.get $search @@ -26002,10 +25893,8 @@ local.tee $next i32.const -1 i32.xor - local.set $19 - local.get $19 if - local.get $out|16 + local.get $out|15 call $~lib/string/String.__not if global.get $~lib/memory/__stack_pointer @@ -26014,36 +25903,36 @@ i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $out|16 + local.tee $out|15 i32.store $0 offset=8 end local.get $next local.get $prev i32.sub local.set $chunk - local.get $offset|17 + local.get $offset|16 local.get $chunk i32.add local.get $replaceLen i32.add - local.get $outSize|18 + local.get $outSize|17 i32.gt_u if - local.get $outSize|18 + local.get $outSize|17 i32.const 1 i32.shl - local.set $outSize|18 + local.set $outSize|17 global.get $~lib/memory/__stack_pointer - local.get $out|16 - local.get $outSize|18 + local.get $out|15 + local.get $outSize|17 i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.tee $out|16 + local.tee $out|15 i32.store $0 offset=8 end - local.get $out|16 - local.get $offset|17 + local.get $out|15 + local.get $offset|16 i32.const 1 i32.shl i32.add @@ -26056,12 +25945,12 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $offset|17 + local.get $offset|16 local.get $chunk i32.add - local.set $offset|17 - local.get $out|16 - local.get $offset|17 + local.set $offset|16 + local.get $out|15 + local.get $offset|16 i32.const 1 i32.shl i32.add @@ -26070,10 +25959,10 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $offset|17 + local.get $offset|16 local.get $replaceLen i32.add - local.set $offset|17 + local.set $offset|16 local.get $next local.get $searchLen i32.add @@ -26081,35 +25970,35 @@ br $while-continue|2 end end - local.get $out|16 + local.get $out|15 if local.get $thisLen local.get $prev i32.sub local.set $rest - local.get $offset|17 + local.get $offset|16 local.get $rest i32.add - local.get $outSize|18 + local.get $outSize|17 i32.gt_u if - local.get $outSize|18 + local.get $outSize|17 i32.const 1 i32.shl - local.set $outSize|18 + local.set $outSize|17 global.get $~lib/memory/__stack_pointer - local.get $out|16 - local.get $outSize|18 + local.get $out|15 + local.get $outSize|17 i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.tee $out|16 + local.tee $out|15 i32.store $0 offset=8 end local.get $rest if - local.get $out|16 - local.get $offset|17 + local.get $out|15 + local.get $offset|16 i32.const 1 i32.shl i32.add @@ -26124,38 +26013,38 @@ memory.copy $0 $0 end local.get $rest - local.get $offset|17 + local.get $offset|16 i32.add local.set $rest - local.get $outSize|18 + local.get $outSize|17 local.get $rest i32.gt_u if global.get $~lib/memory/__stack_pointer - local.get $out|16 + local.get $out|15 local.get $rest i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.tee $out|16 + local.tee $out|15 i32.store $0 offset=8 end - local.get $out|16 - local.set $22 + local.get $out|15 + local.set $20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $20 return end local.get $this - local.set $22 + local.set $20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $20 ) (func $~lib/string/String#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $len i32) diff --git a/tests/compiler/std/string.release.wat b/tests/compiler/std/string.release.wat index f5e49409dc..1b7212ab20 100644 --- a/tests/compiler/std/string.release.wat +++ b/tests/compiler/std/string.release.wat @@ -3279,14 +3279,14 @@ i32.sub local.set $6 loop $while-continue|2 - block $while-break|2 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if + local.get $2 + local.tee $0 + i32.const 1 + i32.sub + local.set $2 + local.get $0 + if + block $while-break|2 local.get $3 i32.load16_u $0 local.tee $0 @@ -4598,14 +4598,14 @@ i32.sub local.set $6 loop $while-continue|2 - block $while-break|2 - local.get $0 - local.tee $1 - i32.const 1 - i32.sub - local.set $0 - local.get $1 - if + local.get $0 + local.tee $1 + i32.const 1 + i32.sub + local.set $0 + local.get $1 + if + block $while-break|2 local.get $4 local.get $2 i32.load16_u $0 @@ -4879,14 +4879,14 @@ i32.sub local.set $3 loop $while-continue|2 - block $while-break|2 - local.get $0 - local.tee $1 - i32.const 1 - i32.sub - local.set $0 - local.get $1 - if + local.get $0 + local.tee $1 + i32.const 1 + i32.sub + local.set $0 + local.get $1 + if + block $while-break|2 local.get $6 local.get $2 i32.load16_u $0 @@ -23241,13 +23241,12 @@ local.get $0 ) (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i64) - (local $3 i32) - (local $4 i64) + (local $2 i32) + (local $3 i64) + (local $4 i32) (local $5 i64) (local $6 i64) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23300,55 +23299,55 @@ i32.shr_u i32.const 1 i32.shl - local.tee $3 + local.tee $4 select - local.set $8 + local.set $2 local.get $1 i32.const 10 i32.eq if global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $2 i32.const 100000 i32.lt_u if (result i32) - local.get $8 + local.get $2 i32.const 100 i32.lt_u if (result i32) - local.get $8 + local.get $2 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $8 + local.get $2 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $8 + local.get $2 i32.const 1000 i32.ge_u i32.add end else - local.get $8 + local.get $2 i32.const 10000000 i32.lt_u if (result i32) - local.get $8 + local.get $2 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $8 + local.get $2 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $8 + local.get $2 i32.const 100000000 i32.ge_u i32.add @@ -23357,16 +23356,16 @@ local.tee $1 i32.const 1 i32.shl - local.get $3 + local.get $4 i32.add i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 local.get $0 - local.get $3 + local.get $4 i32.add - local.get $8 + local.get $2 local.get $1 call $~lib/util/number/utoa32_dec_lut else @@ -23376,7 +23375,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 31 - local.get $8 + local.get $2 i32.clz i32.sub i32.const 2 @@ -23386,19 +23385,19 @@ local.tee $1 i32.const 1 i32.shl - local.get $3 + local.get $4 i32.add i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 local.get $0 - local.get $3 + local.get $4 i32.add local.set $7 - local.get $8 + local.get $2 i64.extend_i32_u - local.set $2 + local.set $3 loop $while-continue|0 local.get $1 i32.const 2 @@ -23412,7 +23411,7 @@ i32.const 1 i32.shl i32.add - local.get $2 + local.get $3 i32.wrap_i64 i32.const 255 i32.and @@ -23422,10 +23421,10 @@ i32.add i32.load $0 i32.store $0 - local.get $2 + local.get $3 i64.const 8 i64.shr_u - local.set $2 + local.set $3 br $while-continue|0 end end @@ -23434,7 +23433,7 @@ i32.and if local.get $7 - local.get $2 + local.get $3 i32.wrap_i64 i32.const 6 i32.shl @@ -23446,17 +23445,16 @@ else global.get $~lib/memory/__stack_pointer block $__inlined_func$~lib/util/number/ulog_base (result i32) - local.get $8 + local.get $2 i64.extend_i32_u - local.tee $5 - local.set $2 + local.set $5 local.get $1 i32.popcnt i32.const 1 i32.eq if i32.const 63 - local.get $2 + local.get $5 i64.clz i32.wrap_i64 i32.sub @@ -23472,38 +23470,38 @@ local.get $1 i64.extend_i32_s local.tee $6 - local.set $4 + local.set $3 i32.const 1 local.set $0 - loop $while-continue|00 - local.get $2 - local.get $4 - i64.ge_u + loop $while-continue|01 + local.get $3 + local.get $5 + i64.le_u if - local.get $2 - local.get $4 + local.get $5 + local.get $3 i64.div_u - local.set $2 - local.get $4 - local.get $4 + local.set $5 + local.get $3 + local.get $3 i64.mul - local.set $4 + local.set $3 local.get $0 i32.const 1 i32.shl local.set $0 - br $while-continue|00 + br $while-continue|01 end end loop $while-continue|1 - local.get $2 + local.get $5 i64.const 0 i64.ne if - local.get $2 + local.get $5 local.get $6 i64.div_u - local.set $2 + local.set $5 local.get $0 i32.const 1 i32.add @@ -23518,22 +23516,23 @@ local.tee $7 i32.const 1 i32.shl - local.get $3 + local.get $4 i32.add i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 local.get $0 - local.get $3 + local.get $4 i32.add - local.get $5 + local.get $2 + i64.extend_i32_u local.get $7 local.get $1 call $~lib/util/number/utoa64_any_core end end - local.get $3 + local.get $4 if local.get $0 i32.const 45 @@ -23546,11 +23545,11 @@ local.get $0 ) (func $~lib/util/number/utoa32 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i64) - (local $3 i32) + (local $2 i32) + (local $3 i64) (local $4 i64) (local $5 i64) - (local $6 i64) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23650,9 +23649,9 @@ i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store $0 - local.get $3 + local.get $2 local.get $0 local.get $1 call $~lib/util/number/utoa32_dec_lut @@ -23675,17 +23674,17 @@ i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store $0 local.get $0 i64.extend_i32_u - local.set $2 + local.set $3 loop $while-continue|0 local.get $1 i32.const 2 i32.ge_u if - local.get $3 + local.get $2 local.get $1 i32.const 2 i32.sub @@ -23693,7 +23692,7 @@ i32.const 1 i32.shl i32.add - local.get $2 + local.get $3 i32.wrap_i64 i32.const 255 i32.and @@ -23703,10 +23702,10 @@ i32.add i32.load $0 i32.store $0 - local.get $2 + local.get $3 i64.const 8 i64.shr_u - local.set $2 + local.set $3 br $while-continue|0 end end @@ -23714,8 +23713,8 @@ i32.const 1 i32.and if - local.get $3 local.get $2 + local.get $3 i32.wrap_i64 i32.const 6 i32.shl @@ -23729,15 +23728,14 @@ block $__inlined_func$~lib/util/number/ulog_base (result i32) local.get $0 i64.extend_i32_u - local.tee $5 - local.set $2 + local.set $4 local.get $1 i32.popcnt i32.const 1 i32.eq if i32.const 63 - local.get $2 + local.get $4 i64.clz i32.wrap_i64 i32.sub @@ -23752,60 +23750,61 @@ end local.get $1 i64.extend_i32_s - local.tee $6 - local.set $4 + local.tee $5 + local.set $3 i32.const 1 - local.set $0 - loop $while-continue|00 - local.get $2 + local.set $2 + loop $while-continue|01 + local.get $3 local.get $4 - i64.ge_u + i64.le_u if - local.get $2 local.get $4 + local.get $3 i64.div_u - local.set $2 - local.get $4 - local.get $4 - i64.mul local.set $4 - local.get $0 + local.get $3 + local.get $3 + i64.mul + local.set $3 + local.get $2 i32.const 1 i32.shl - local.set $0 - br $while-continue|00 + local.set $2 + br $while-continue|01 end end loop $while-continue|1 - local.get $2 + local.get $4 i64.const 0 i64.ne if - local.get $2 - local.get $6 + local.get $4 + local.get $5 i64.div_u - local.set $2 - local.get $0 + local.set $4 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $while-continue|1 end end - local.get $0 + local.get $2 i32.const 1 i32.sub end - local.tee $0 + local.tee $6 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store $0 - local.get $3 - local.get $5 + local.get $2 local.get $0 + i64.extend_i32_u + local.get $6 local.get $1 call $~lib/util/number/utoa64_any_core end @@ -23814,7 +23813,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 ) (func $~lib/util/number/utoa64 (type $i64_i32_=>_i32) (param $0 i64) (param $1 i32) (result i32) (local $2 i64) @@ -24093,7 +24092,7 @@ local.set $4 i32.const 1 local.set $3 - loop $while-continue|00 + loop $while-continue|01 local.get $2 local.get $4 i64.ge_u @@ -24110,7 +24109,7 @@ i32.const 1 i32.shl local.set $3 - br $while-continue|00 + br $while-continue|01 end end loop $while-continue|1 @@ -24458,7 +24457,7 @@ local.set $5 i32.const 1 local.set $3 - loop $while-continue|00 + loop $while-continue|01 local.get $2 local.get $5 i64.ge_u @@ -24475,7 +24474,7 @@ i32.const 1 i32.shl local.set $3 - br $while-continue|00 + br $while-continue|01 end end loop $while-continue|1 diff --git a/tests/compiler/std/string.ts b/tests/compiler/std/string.ts index db3f50e3a7..3f3e281a4d 100644 --- a/tests/compiler/std/string.ts +++ b/tests/compiler/std/string.ts @@ -2,7 +2,7 @@ import { utoa32, itoa32, utoa64, itoa64, dtoa } from "util/number"; // preliminary var str: string = "hi, I'm a string"; -var nullStr: string; +var nullStr: string | null = null; // exactly once in static memory assert(changetype(str) == changetype("hi, I'm a string")); diff --git a/tests/compiler/std/symbol.debug.wat b/tests/compiler/std/symbol.debug.wat index fdc5b59397..f3a553ca9d 100644 --- a/tests/compiler/std/symbol.debug.wat +++ b/tests/compiler/std/symbol.debug.wat @@ -13,7 +13,6 @@ (global $~lib/symbol/nextId (mut i32) (i32.const 12)) (global $std/symbol/sym1 (mut i32) (i32.const 0)) (global $std/symbol/sym2 (mut i32) (i32.const 0)) - (global $~lib/symbol/stringToId (mut i32) (i32.const 0)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) @@ -29,8 +28,9 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) - (global $~lib/symbol/idToString (mut i32) (i32.const 0)) + (global $~lib/symbol/stringToId (mut i32) (i32.const 0)) (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (global $~lib/symbol/idToString (mut i32) (i32.const 0)) (global $std/symbol/sym3 (mut i32) (i32.const 0)) (global $std/symbol/sym4 (mut i32) (i32.const 0)) (global $std/symbol/key1 (mut i32) (i32.const 0)) @@ -142,7 +142,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -154,8 +153,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -402,15 +399,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1457,8 +1451,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1503,8 +1495,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1554,8 +1544,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2359,44 +2347,6 @@ local.get $entriesCount i32.store $0 offset=20 ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask - i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=16 @@ -2419,18 +2369,15 @@ (local $s3 i32) (local $s4 i32) (local $end i32) - (local $10 i32) - (local $h|11 i32) - (local $key|12 i32) - (local $h|13 i32) - (local $key|14 i32) - (local $h|15 i32) - (local $key|16 i32) - (local $h|17 i32) - (local $key|18 i32) - (local $end|19 i32) - (local $20 i32) - (local $21 i32) + (local $h|10 i32) + (local $key|11 i32) + (local $h|12 i32) + (local $key|13 i32) + (local $h|14 i32) + (local $key|15 i32) + (local $h|16 i32) + (local $key|17 i32) + (local $end|18 i32) i32.const 1 drop block $~lib/util/hash/hashStr|inlined.0 (result i32) @@ -2482,16 +2429,14 @@ local.get $pos local.get $end i32.le_u - local.set $10 - local.get $10 if local.get $s1 - local.set $h|11 + local.set $h|10 local.get $pos i32.load $0 - local.set $key|12 - local.get $h|11 - local.get $key|12 + local.set $key|11 + local.get $h|10 + local.get $key|11 i32.const -2048144777 i32.mul i32.add @@ -2501,12 +2446,12 @@ i32.mul local.set $s1 local.get $s2 - local.set $h|13 + local.set $h|12 local.get $pos i32.load $0 offset=4 - local.set $key|14 - local.get $h|13 - local.get $key|14 + local.set $key|13 + local.get $h|12 + local.get $key|13 i32.const -2048144777 i32.mul i32.add @@ -2516,12 +2461,12 @@ i32.mul local.set $s2 local.get $s3 - local.set $h|15 + local.set $h|14 local.get $pos i32.load $0 offset=8 - local.set $key|16 - local.get $h|15 - local.get $key|16 + local.set $key|15 + local.get $h|14 + local.get $key|15 i32.const -2048144777 i32.mul i32.add @@ -2531,12 +2476,12 @@ i32.mul local.set $s3 local.get $s4 - local.set $h|17 + local.set $h|16 local.get $pos i32.load $0 offset=12 - local.set $key|18 - local.get $h|17 - local.get $key|18 + local.set $key|17 + local.get $h|16 + local.get $key|17 i32.const -2048144777 i32.mul i32.add @@ -2583,13 +2528,11 @@ i32.add i32.const 4 i32.sub - local.set $end|19 + local.set $end|18 loop $while-continue|1 local.get $pos - local.get $end|19 + local.get $end|18 i32.le_u - local.set $20 - local.get $20 if local.get $h local.get $pos @@ -2614,13 +2557,11 @@ local.get $key|1 local.get $len i32.add - local.set $end|19 + local.set $end|18 loop $while-continue|2 local.get $pos - local.get $end|19 + local.get $end|18 i32.lt_u - local.set $21 - local.get $21 if local.get $h local.get $pos @@ -2692,7 +2633,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2763,8 +2703,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -2909,7 +2847,6 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) @@ -2968,8 +2905,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -3044,6 +2979,44 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3127,7 +3100,6 @@ ) (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $4 i32) (local $taggedNext i32) local.get $this call $~lib/map/Map#get:buckets @@ -3142,8 +3114,6 @@ local.set $entry loop $while-continue|0 local.get $entry - local.set $4 - local.get $4 if local.get $entry call $~lib/map/MapEntry#get:taggedNext @@ -3323,7 +3293,6 @@ (local $entries i32) (local $cur i32) (local $end i32) - (local $5 i32) (local $entry i32) (local $val i32) local.get $this @@ -3348,8 +3317,6 @@ local.get $cur local.get $end i32.lt_u - local.set $5 - local.get $5 if local.get $cur local.set $entry @@ -3395,7 +3362,6 @@ (local $entries i32) (local $cur i32) (local $end i32) - (local $5 i32) (local $entry i32) (local $val i32) local.get $this @@ -3420,8 +3386,6 @@ local.get $cur local.get $end i32.lt_u - local.set $5 - local.get $5 if local.get $cur local.set $entry @@ -3588,6 +3552,79 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/map/Map<~lib/string/String,usize>#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext i32) + (local $5 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 $0 + local.get $this + call $~lib/map/Map<~lib/string/String,usize>#get:buckets + local.get $hashCode + local.get $this + call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/map/MapEntry<~lib/string/String,usize>#get:key + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $key + call $~lib/string/String.__eq + else + i32.const 0 + end + if + local.get $entry + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + end + local.get $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end + i32.const 0 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + ) (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3654,82 +3691,6 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map<~lib/string/String,usize>#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) - (local $entry i32) - (local $4 i32) - (local $taggedNext i32) - (local $6 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 $0 - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - local.set $4 - local.get $4 - if - local.get $entry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:key - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - local.get $key - call $~lib/string/String.__eq - else - i32.const 0 - end - if - local.get $entry - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) @@ -3738,13 +3699,12 @@ (local $oldPtr i32) (local $oldEnd i32) (local $newPtr i32) - (local $9 i32) (local $oldEntry i32) (local $newEntry i32) (local $oldEntryKey i32) (local $newBucketIndex i32) (local $newBucketPtrBase i32) - (local $15 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -3798,8 +3758,6 @@ local.get $oldPtr local.get $oldEnd i32.ne - local.set $9 - local.get $9 if local.get $oldPtr local.set $oldEntry @@ -3820,11 +3778,11 @@ local.get $newEntry local.get $oldEntry call $~lib/map/MapEntry#get:value - local.set $15 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $15 + local.get $14 i32.store $0 offset=8 - local.get $15 + local.get $14 call $~lib/map/MapEntry#set:value local.get $oldEntryKey call $~lib/util/hash/HASH @@ -3890,15 +3848,14 @@ i32.const 0 i32.store $0 global.get $~lib/symbol/stringToId - i32.eqz + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $key + call $~lib/map/Map<~lib/string/String,usize>#has if - i32.const 0 - call $~lib/map/Map<~lib/string/String,usize>#constructor - global.set $~lib/symbol/stringToId - i32.const 0 - call $~lib/map/Map#constructor - global.set $~lib/symbol/idToString - else global.get $~lib/symbol/stringToId local.set $3 global.get $~lib/memory/__stack_pointer @@ -3906,24 +3863,14 @@ i32.store $0 local.get $3 local.get $key - call $~lib/map/Map<~lib/string/String,usize>#has - if - global.get $~lib/symbol/stringToId - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - local.get $key - call $~lib/map/Map<~lib/string/String,usize>#get - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end + call $~lib/map/Map<~lib/string/String,usize>#get + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return end global.get $~lib/symbol/nextId local.tee $1 @@ -3976,20 +3923,13 @@ i32.const 0 i32.store $0 global.get $~lib/symbol/idToString - i32.const 0 - i32.ne - if (result i32) - global.get $~lib/symbol/idToString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - local.get $sym - call $~lib/map/Map#has - else - i32.const 0 - end + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $sym + call $~lib/map/Map#has if (result i32) global.get $~lib/symbol/idToString local.set $1 @@ -4275,6 +4215,12 @@ i32.const 400 call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace + i32.const 0 + call $~lib/map/Map<~lib/string/String,usize>#constructor + global.set $~lib/symbol/stringToId + i32.const 0 + call $~lib/map/Map#constructor + global.set $~lib/symbol/idToString i32.const 32 local.set $2 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/symbol.release.wat b/tests/compiler/std/symbol.release.wat index 92be460320..7df772bc18 100644 --- a/tests/compiler/std/symbol.release.wat +++ b/tests/compiler/std/symbol.release.wat @@ -11,7 +11,6 @@ (global $~lib/symbol/nextId (mut i32) (i32.const 12)) (global $std/symbol/sym1 (mut i32) (i32.const 0)) (global $std/symbol/sym2 (mut i32) (i32.const 0)) - (global $~lib/symbol/stringToId (mut i32) (i32.const 0)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) @@ -22,6 +21,7 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/symbol/stringToId (mut i32) (i32.const 0)) (global $~lib/symbol/idToString (mut i32) (i32.const 0)) (global $std/symbol/sym3 (mut i32) (i32.const 0)) (global $std/symbol/sym4 (mut i32) (i32.const 0)) @@ -2301,9 +2301,17 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 0 i32.store $0 + local.get $0 global.get $~lib/symbol/stringToId + local.tee $0 + i32.store $0 + local.get $0 + i32.const 1056 + call $~lib/util/hash/HASH<~lib/string/String> + call $~lib/map/Map<~lib/string/String,usize>#find if global.get $~lib/memory/__stack_pointer global.get $~lib/symbol/stringToId @@ -2313,172 +2321,25 @@ i32.const 1056 call $~lib/util/hash/HASH<~lib/string/String> call $~lib/map/Map<~lib/string/String,usize>#find - if - global.get $~lib/memory/__stack_pointer - global.get $~lib/symbol/stringToId - local.tee $0 - i32.store $0 - local.get $0 - i32.const 1056 - call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,usize>#find - local.tee $0 - i32.eqz - if - i32.const 1648 - i32.const 1712 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - else - 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 2684 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 24 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - i32.const 3 - i32.store $0 offset=4 - i32.const 48 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - i32.const 4 - i32.store $0 offset=12 - local.get $0 - i32.const 0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - global.set $~lib/symbol/stringToId - 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 2684 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 24 - i32.const 5 - call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 - local.get $1 + i32.eqz if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 1648 + i32.const 1712 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable end local.get $0 - i32.const 3 - i32.store $0 offset=4 - i32.const 48 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + i32.load $0 offset=4 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $0 - i32.const 0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - global.set $~lib/symbol/idToString + return end global.get $~lib/symbol/nextId local.tee $3 @@ -2786,7 +2647,7 @@ i32.load $0 local.set $0 block $__inlined_func$~lib/map/Map#find - loop $while-continue|06 + loop $while-continue|02 local.get $0 if local.get $0 @@ -2807,7 +2668,7 @@ i32.const -2 i32.and local.set $0 - br $while-continue|06 + br $while-continue|02 end end i32.const 0 @@ -3097,84 +2958,80 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 i32.store $0 + local.get $1 global.get $~lib/symbol/idToString - if (result i32) - global.get $~lib/memory/__stack_pointer - global.get $~lib/symbol/idToString - local.tee $1 - i32.store $0 - local.get $1 - i32.load $0 - local.get $1 - i32.load $0 offset=4 - local.get $0 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $1 - local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $1 - local.get $1 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $1 - local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - else - i32.const 0 - end + local.tee $1 + i32.store $0 + local.get $1 + i32.load $0 + local.get $1 + i32.load $0 offset=4 + local.get $0 + i32.const -1028477379 + i32.mul + i32.const 374761397 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $1 + local.get $1 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $1 + local.get $1 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $1 + local.get $1 + i32.const 16 + i32.shr_u + i32.xor + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $1 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 + local.get $1 + if + local.get $1 + i32.load $0 offset=8 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + i32.load $0 + local.get $0 + i32.eq + end + br_if $__inlined_func$~lib/map/Map#find + local.get $2 + i32.const -2 + i32.and + local.set $1 + br $while-continue|0 + end + end + i32.const 0 + local.set $1 + end + local.get $1 if (result i32) global.get $~lib/memory/__stack_pointer global.get $~lib/symbol/idToString @@ -3439,335 +3296,473 @@ i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2684 - i32.lt_s - if - i32.const 35472 - i32.const 35520 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2684 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + i32.const 1056 + i32.store $0 + global.get $~lib/symbol/nextId + local.tee $0 i32.const 1 + i32.add + global.set $~lib/symbol/nextId + local.get $0 + i32.eqz + if + unreachable + end + local.get $0 + global.set $std/symbol/sym1 + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 + global.get $~lib/symbol/nextId + local.tee $0 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 - i32.const 1056 - i32.store $0 - global.get $~lib/symbol/nextId - local.tee $0 - i32.const 1 - i32.add - global.set $~lib/symbol/nextId - local.get $0 - i32.eqz - if - unreachable - end - local.get $0 - global.set $std/symbol/sym1 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 - global.get $~lib/symbol/nextId - local.tee $0 - i32.const 1 - i32.add - global.set $~lib/symbol/nextId - local.get $0 - i32.eqz - if - unreachable - end - local.get $0 - global.set $std/symbol/sym2 - global.get $std/symbol/sym1 - global.get $std/symbol/sym2 - i32.eq - if + i32.add + global.set $~lib/symbol/nextId + local.get $0 + i32.eqz + if + unreachable + end + local.get $0 + global.set $std/symbol/sym2 + global.get $std/symbol/sym1 + global.get $std/symbol/sym2 + i32.eq + if + i32.const 0 + i32.const 1088 + i32.const 4 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + memory.size $0 + i32.const 16 + i32.shl + i32.const 35452 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1252 + i32.const 1248 + i32.store $0 + i32.const 1256 + i32.const 1248 + i32.store $0 + i32.const 1248 + global.set $~lib/rt/itcms/pinSpace + i32.const 1284 + i32.const 1280 + i32.store $0 + i32.const 1288 + i32.const 1280 + i32.store $0 + i32.const 1280 + global.set $~lib/rt/itcms/toSpace + i32.const 1428 + i32.const 1424 + i32.store $0 + i32.const 1432 + i32.const 1424 + i32.store $0 + i32.const 1424 + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2684 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 24 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $0 + i32.const 3 + i32.store $0 offset=4 + i32.const 48 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $0 i32.const 0 - i32.const 1088 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $~lib/symbol/stringToId + 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 2684 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 24 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $0 + i32.const 3 + i32.store $0 offset=4 + i32.const 48 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $0 i32.const 4 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - memory.size $0 - i32.const 16 - i32.shl - i32.const 35452 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1252 - i32.const 1248 - i32.store $0 - i32.const 1256 - i32.const 1248 - i32.store $0 - i32.const 1248 - global.set $~lib/rt/itcms/pinSpace - i32.const 1284 - i32.const 1280 - i32.store $0 - i32.const 1288 - i32.const 1280 - i32.store $0 - i32.const 1280 - global.set $~lib/rt/itcms/toSpace - i32.const 1428 - i32.const 1424 - i32.store $0 - i32.const 1432 - i32.const 1424 - i32.store $0 - i32.const 1424 - global.set $~lib/rt/itcms/fromSpace - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 - call $~lib/symbol/_Symbol.for - global.set $std/symbol/sym3 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 - call $~lib/symbol/_Symbol.for - global.set $std/symbol/sym4 - global.get $std/symbol/sym3 - global.get $std/symbol/sym4 - i32.ne - if + i32.store $0 offset=12 + local.get $0 i32.const 0 - i32.const 1088 - i32.const 9 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $std/symbol/sym1 - call $~lib/symbol/_Symbol.keyFor - global.set $std/symbol/key1 - global.get $std/symbol/sym2 - call $~lib/symbol/_Symbol.keyFor - global.set $std/symbol/key2 - global.get $~lib/memory/__stack_pointer - global.get $std/symbol/key1 - local.tee $0 - i32.store $0 - local.get $0 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if + i32.store $0 offset=16 + local.get $0 i32.const 0 - i32.const 1088 - i32.const 14 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $std/symbol/key2 - local.tee $0 - i32.store $0 - local.get $0 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $~lib/symbol/idToString + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 + call $~lib/symbol/_Symbol.for + global.set $std/symbol/sym3 + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 + call $~lib/symbol/_Symbol.for + global.set $std/symbol/sym4 + global.get $std/symbol/sym3 + global.get $std/symbol/sym4 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 9 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/symbol/sym1 + call $~lib/symbol/_Symbol.keyFor + global.set $std/symbol/key1 + global.get $std/symbol/sym2 + call $~lib/symbol/_Symbol.keyFor + global.set $std/symbol/key2 + global.get $~lib/memory/__stack_pointer + global.get $std/symbol/key1 + local.tee $0 + i32.store $0 + local.get $0 i32.const 0 - i32.const 1088 - i32.const 15 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $std/symbol/sym3 - call $~lib/symbol/_Symbol.keyFor - local.tee $0 - i32.store $0 offset=4 - local.get $0 - i32.eqz - if - i32.const 1760 - i32.const 1088 - i32.const 17 - i32.const 12 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $std/symbol/key3 - global.get $~lib/memory/__stack_pointer - global.get $std/symbol/sym4 - call $~lib/symbol/_Symbol.keyFor - local.tee $0 - i32.store $0 offset=8 - local.get $0 - i32.eqz - if - i32.const 1760 - i32.const 1088 - i32.const 18 - i32.const 12 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $std/symbol/key4 - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/symbol/key3 - local.tee $1 - i32.store $0 - local.get $0 - i32.const 1056 - i32.store $0 offset=12 - local.get $1 - i32.const 1056 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 14 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/symbol/key2 + local.tee $0 + i32.store $0 + local.get $0 i32.const 0 - i32.const 1088 - i32.const 20 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 15 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/symbol/sym3 + call $~lib/symbol/_Symbol.keyFor + local.tee $0 + i32.store $0 offset=4 + local.get $0 + i32.eqz + if + i32.const 1760 + i32.const 1088 + i32.const 17 + i32.const 12 + call $~lib/builtins/abort + unreachable + end + local.get $0 + global.set $std/symbol/key3 + global.get $~lib/memory/__stack_pointer + global.get $std/symbol/sym4 + call $~lib/symbol/_Symbol.keyFor + local.tee $0 + i32.store $0 offset=8 + local.get $0 + i32.eqz + if + i32.const 1760 + i32.const 1088 + i32.const 18 + i32.const 12 + call $~lib/builtins/abort + unreachable + end + local.get $0 + global.set $std/symbol/key4 + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/symbol/key3 + local.tee $1 + i32.store $0 + local.get $0 + i32.const 1056 + i32.store $0 offset=12 + local.get $1 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 20 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/symbol/key3 + local.tee $1 + i32.store $0 + local.get $0 + global.get $std/symbol/key4 + local.tee $0 + i32.store $0 offset=12 + local.get $1 + local.get $0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 21 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/symbol/nextId + local.tee $0 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/symbol/key3 - local.tee $1 - i32.store $0 - local.get $0 - global.get $std/symbol/key4 - local.tee $0 - i32.store $0 offset=12 - local.get $1 - local.get $0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 21 + i32.add + global.set $~lib/symbol/nextId + local.get $0 + i32.eqz + if + unreachable + end + local.get $0 + call $~lib/symbol/_Symbol#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 2432 + i32.store $0 offset=12 + local.get $0 + i32.const 2432 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 23 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/symbol/sym3 + call $~lib/symbol/_Symbol#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 2480 + i32.store $0 offset=12 + local.get $0 + i32.const 2480 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 24 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $std/symbol/isConcatSpreadable i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/symbol/_Symbol#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 2528 + i32.store $0 offset=12 + local.get $0 + i32.const 2528 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 28 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/symbol/isConcatSpreadable + call $~lib/symbol/_Symbol#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 2592 + i32.store $0 offset=12 + local.get $0 + i32.const 2592 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 29 + i32.const 1 + 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 - global.get $~lib/symbol/nextId - local.tee $0 + i32.const 35472 + i32.const 35520 i32.const 1 - i32.add - global.set $~lib/symbol/nextId - local.get $0 - i32.eqz - if - unreachable - end - local.get $0 - call $~lib/symbol/_Symbol#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 - local.get $1 - i32.const 2432 - i32.store $0 offset=12 - local.get $0 - i32.const 2432 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 23 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $std/symbol/sym3 - call $~lib/symbol/_Symbol#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 - local.get $1 - i32.const 2480 - i32.store $0 offset=12 - local.get $0 - i32.const 2480 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 24 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $std/symbol/isConcatSpreadable i32.const 1 - call $~lib/symbol/_Symbol#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 - local.get $1 - i32.const 2528 - i32.store $0 offset=12 - local.get $0 - i32.const 2528 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 28 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $std/symbol/isConcatSpreadable - call $~lib/symbol/_Symbol#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 - local.get $1 - i32.const 2592 - i32.store $0 offset=12 - local.get $0 - i32.const 2592 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 29 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/builtins/abort + unreachable ) (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_=>_i32) (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index fa60e4ad91..9f925432b6 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -452,7 +452,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -464,8 +463,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -712,15 +709,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1767,8 +1761,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1813,8 +1805,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1864,8 +1854,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -3352,8 +3340,6 @@ (local $min f64) (local $max f64) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -3430,8 +3416,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -3480,8 +3464,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -3535,11 +3517,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp f64) - (local $9 i32) local.get $i local.get $right i32.eq @@ -3599,8 +3578,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -3615,8 +3592,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -3683,8 +3658,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -3916,19 +3889,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -4145,8 +4117,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -4169,15 +4139,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -4196,16 +4166,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -4218,7 +4188,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -4232,17 +4202,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -4270,29 +4240,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -4304,10 +4274,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -10770,7 +10740,6 @@ (local $uy1 i32) (local $m f32) (local $ux1 i32) - (local $10 i32) (local $shift i32) local.get $y f32.abs @@ -10918,8 +10887,6 @@ local.get $ex local.get $ey i32.gt_s - local.set $10 - local.get $10 if local.get $ux local.get $uy @@ -11090,7 +11057,6 @@ (local $uy1 i64) (local $m f64) (local $ux1 i64) - (local $10 i32) (local $shift i64) local.get $y f64.abs @@ -11242,8 +11208,6 @@ local.get $ex local.get $ey i64.gt_s - local.set $10 - local.get $10 if local.get $ux local.get $uy @@ -11928,18 +11892,16 @@ (local $i i32) (local $tail i32) (local $hlen i32) - (local $5 i32) (local $front i32) (local $back i32) + (local $7 i64) (local $8 i64) - (local $9 i64) (local $temp i64) + (local $10 i64) (local $11 i64) - (local $12 i64) - (local $13 i32) - (local $front|14 i32) - (local $back|15 i32) - (local $temp|16 i32) + (local $front|12 i32) + (local $back|13 i32) + (local $temp|14 i32) local.get $len i32.const 1 i32.gt_u @@ -11968,8 +11930,6 @@ i32.add local.get $hlen i32.lt_u - local.set $5 - local.get $5 if local.get $ptr local.get $i @@ -11983,23 +11943,23 @@ local.set $back local.get $front i64.load $0 - local.tee $8 + local.tee $7 i64.const 8 i64.shr_u i64.const 71777214294589695 i64.and - local.get $8 + local.get $7 i64.const 71777214294589695 i64.and i64.const 8 i64.shl i64.or - local.tee $9 + local.tee $8 i64.const 16 i64.shr_u i64.const 281470681808895 i64.and - local.get $9 + local.get $8 i64.const 281470681808895 i64.and i64.const 16 @@ -12011,23 +11971,23 @@ local.get $front local.get $back i64.load $0 - local.tee $11 + local.tee $10 i64.const 8 i64.shr_u i64.const 71777214294589695 i64.and - local.get $11 + local.get $10 i64.const 71777214294589695 i64.and i64.const 8 i64.shl i64.or - local.tee $12 + local.tee $11 i64.const 16 i64.shr_u i64.const 281470681808895 i64.and - local.get $12 + local.get $11 i64.const 281470681808895 i64.and i64.const 16 @@ -12058,15 +12018,13 @@ local.get $i local.get $hlen i32.lt_u - local.set $13 - local.get $13 if local.get $ptr local.get $i i32.const 0 i32.shl i32.add - local.set $front|14 + local.set $front|12 local.get $ptr local.get $tail local.get $i @@ -12074,16 +12032,16 @@ i32.const 0 i32.shl i32.add - local.set $back|15 - local.get $front|14 + local.set $back|13 + local.get $front|12 i32.load8_u $0 - local.set $temp|16 - local.get $front|14 - local.get $back|15 + local.set $temp|14 + local.get $front|12 + local.get $back|13 i32.load8_u $0 i32.store8 $0 - local.get $back|15 - local.get $temp|16 + local.get $back|13 + local.get $temp|14 i32.store8 $0 local.get $i i32.const 1 @@ -12122,14 +12080,12 @@ (local $i i32) (local $tail i32) (local $hlen i32) - (local $5 i32) (local $front i32) (local $back i32) (local $temp i32) - (local $9 i32) - (local $front|10 i32) - (local $back|11 i32) - (local $temp|12 i32) + (local $front|8 i32) + (local $back|9 i32) + (local $temp|10 i32) local.get $len i32.const 1 i32.gt_u @@ -12162,8 +12118,6 @@ i32.add local.get $hlen i32.lt_u - local.set $5 - local.get $5 if local.get $ptr local.get $i @@ -12208,15 +12162,13 @@ local.get $i local.get $hlen i32.lt_u - local.set $9 - local.get $9 if local.get $ptr local.get $i i32.const 1 i32.shl i32.add - local.set $front|10 + local.set $front|8 local.get $ptr local.get $tail local.get $i @@ -12224,16 +12176,16 @@ i32.const 1 i32.shl i32.add - local.set $back|11 - local.get $front|10 + local.set $back|9 + local.get $front|8 i32.load16_u $0 - local.set $temp|12 - local.get $front|10 - local.get $back|11 + local.set $temp|10 + local.get $front|8 + local.get $back|9 i32.load16_u $0 i32.store16 $0 - local.get $back|11 - local.get $temp|12 + local.get $back|9 + local.get $temp|10 i32.store16 $0 local.get $i i32.const 1 @@ -12264,7 +12216,6 @@ (local $i i32) (local $tail i32) (local $hlen i32) - (local $5 i32) (local $front i32) (local $back i32) (local $temp i32) @@ -12298,8 +12249,6 @@ local.get $i local.get $hlen i32.lt_u - local.set $5 - local.get $5 if local.get $ptr local.get $i @@ -12354,7 +12303,6 @@ (local $i i32) (local $tail i32) (local $hlen i32) - (local $5 i32) (local $front i32) (local $back i32) (local $temp i64) @@ -12388,8 +12336,6 @@ local.get $i local.get $hlen i32.lt_u - local.set $5 - local.get $5 if local.get $ptr local.get $i @@ -12444,7 +12390,6 @@ (local $i i32) (local $tail i32) (local $hlen i32) - (local $5 i32) (local $front i32) (local $back i32) (local $temp f32) @@ -12478,8 +12423,6 @@ local.get $i local.get $hlen i32.lt_u - local.set $5 - local.get $5 if local.get $ptr local.get $i @@ -12526,7 +12469,6 @@ (local $i i32) (local $tail i32) (local $hlen i32) - (local $5 i32) (local $front i32) (local $back i32) (local $temp f64) @@ -12560,8 +12502,6 @@ local.get $i local.get $hlen i32.lt_u - local.set $5 - local.get $5 if local.get $ptr local.get $i @@ -12613,7 +12553,6 @@ (local $8 i32) (local $9 i32) (local $dataStart i32) - (local $11 i32) block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) local.get $this local.set $array @@ -12663,8 +12602,6 @@ local.get $index local.get $len i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $index @@ -12696,7 +12633,6 @@ (local $index i32) (local $len i32) (local $dataStart i32) - (local $9 i32) block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) local.get $this local.set $array @@ -12742,8 +12678,6 @@ local.get $index i32.const 0 i32.ge_s - local.set $9 - local.get $9 if local.get $dataStart local.get $index @@ -13282,7 +13216,6 @@ (local $8 i32) (local $9 i32) (local $dataStart i32) - (local $11 i32) block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) local.get $this local.set $array @@ -13332,8 +13265,6 @@ local.get $index local.get $len i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $index @@ -13366,7 +13297,6 @@ (local $index i32) (local $len i32) (local $dataStart i32) - (local $9 i32) block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) local.get $this local.set $array @@ -13412,8 +13342,6 @@ local.get $index i32.const 0 i32.ge_s - local.set $9 - local.get $9 if local.get $dataStart local.get $index @@ -13954,7 +13882,6 @@ (local $8 i32) (local $9 i32) (local $dataStart i32) - (local $11 i32) block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) local.get $this local.set $array @@ -14004,8 +13931,6 @@ local.get $index local.get $len i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $index @@ -14038,7 +13963,6 @@ (local $index i32) (local $len i32) (local $dataStart i32) - (local $9 i32) block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) local.get $this local.set $array @@ -14084,8 +14008,6 @@ local.get $index i32.const 0 i32.ge_s - local.set $9 - local.get $9 if local.get $dataStart local.get $index @@ -14626,7 +14548,6 @@ (local $8 i32) (local $9 i32) (local $dataStart i32) - (local $11 i32) block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) local.get $this local.set $array @@ -14676,8 +14597,6 @@ local.get $index local.get $len i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $index @@ -14709,7 +14628,6 @@ (local $index i32) (local $len i32) (local $dataStart i32) - (local $9 i32) block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) local.get $this local.set $array @@ -14755,8 +14673,6 @@ local.get $index i32.const 0 i32.ge_s - local.set $9 - local.get $9 if local.get $dataStart local.get $index @@ -15295,7 +15211,6 @@ (local $8 i32) (local $9 i32) (local $dataStart i32) - (local $11 i32) block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) local.get $this local.set $array @@ -15345,8 +15260,6 @@ local.get $index local.get $len i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $index @@ -15379,7 +15292,6 @@ (local $index i32) (local $len i32) (local $dataStart i32) - (local $9 i32) block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) local.get $this local.set $array @@ -15425,8 +15337,6 @@ local.get $index i32.const 0 i32.ge_s - local.set $9 - local.get $9 if local.get $dataStart local.get $index @@ -15967,7 +15877,6 @@ (local $8 i32) (local $9 i32) (local $dataStart i32) - (local $11 i32) block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) local.get $this local.set $array @@ -16017,8 +15926,6 @@ local.get $index local.get $len i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $index @@ -16049,7 +15956,6 @@ (local $index i32) (local $len i32) (local $dataStart i32) - (local $9 i32) block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) local.get $this local.set $array @@ -16095,8 +16001,6 @@ local.get $index i32.const 0 i32.ge_s - local.set $9 - local.get $9 if local.get $dataStart local.get $index @@ -16633,7 +16537,6 @@ (local $8 i32) (local $9 i32) (local $dataStart i32) - (local $11 i32) block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) local.get $this local.set $array @@ -16683,8 +16586,6 @@ local.get $index local.get $len i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $index @@ -16715,7 +16616,6 @@ (local $index i32) (local $len i32) (local $dataStart i32) - (local $9 i32) block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) local.get $this local.set $array @@ -16761,8 +16661,6 @@ local.get $index i32.const 0 i32.ge_s - local.set $9 - local.get $9 if local.get $dataStart local.get $index @@ -17299,7 +17197,6 @@ (local $8 i32) (local $9 i32) (local $dataStart i32) - (local $11 i32) block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) local.get $this local.set $array @@ -17349,8 +17246,6 @@ local.get $index local.get $len i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $index @@ -17381,7 +17276,6 @@ (local $index i32) (local $len i32) (local $dataStart i32) - (local $9 i32) block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) local.get $this local.set $array @@ -17427,8 +17321,6 @@ local.get $index i32.const 0 i32.ge_s - local.set $9 - local.get $9 if local.get $dataStart local.get $index @@ -17966,7 +17858,6 @@ (local $8 i32) (local $9 i32) (local $dataStart i32) - (local $11 i32) block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) local.get $this local.set $array @@ -18016,8 +17907,6 @@ local.get $index local.get $len i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $index @@ -18048,7 +17937,6 @@ (local $index i32) (local $len i32) (local $dataStart i32) - (local $9 i32) block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) local.get $this local.set $array @@ -18094,8 +17982,6 @@ local.get $index i32.const 0 i32.ge_s - local.set $9 - local.get $9 if local.get $dataStart local.get $index @@ -18633,7 +18519,6 @@ (local $8 i32) (local $9 i32) (local $dataStart i32) - (local $11 i32) block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) local.get $this local.set $array @@ -18683,8 +18568,6 @@ local.get $index local.get $len i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $index @@ -18715,7 +18598,6 @@ (local $index i32) (local $len i32) (local $dataStart i32) - (local $9 i32) block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) local.get $this local.set $array @@ -18761,8 +18643,6 @@ local.get $index i32.const 0 i32.ge_s - local.set $9 - local.get $9 if local.get $dataStart local.get $index @@ -19300,7 +19180,6 @@ (local $8 i32) (local $9 i32) (local $dataStart i32) - (local $11 i32) block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) local.get $this local.set $array @@ -19350,8 +19229,6 @@ local.get $index local.get $len i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $index @@ -19382,7 +19259,6 @@ (local $index i32) (local $len i32) (local $dataStart i32) - (local $9 i32) block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) local.get $this local.set $array @@ -19428,8 +19304,6 @@ local.get $index i32.const 0 i32.ge_s - local.set $9 - local.get $9 if local.get $dataStart local.get $index @@ -19967,7 +19841,6 @@ (local $8 i32) (local $9 i32) (local $dataStart i32) - (local $11 i32) (local $elem f64) block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) local.get $this @@ -20020,8 +19893,6 @@ local.get $index local.get $len i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $index @@ -20068,7 +19939,6 @@ (local $8 i32) (local $9 i32) (local $dataStart i32) - (local $11 i32) (local $elem f32) block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) local.get $this @@ -20121,8 +19991,6 @@ local.get $index local.get $len i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $index @@ -20216,24 +20084,21 @@ unreachable ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $3 i32) (local $t i32) (local $r i32) (local $d1 i32) (local $d2 i32) (local $digits1 i64) (local $digits2 i64) - (local $t|10 i32) - (local $d1|11 i32) + (local $t|9 i32) + (local $d1|10 i32) (local $digits i32) - (local $digits|13 i32) + (local $digits|12 i32) (local $digit i32) loop $while-continue|0 local.get $num i32.const 10000 i32.ge_u - local.set $3 - local.get $3 if local.get $num i32.const 10000 @@ -20292,19 +20157,19 @@ local.get $num i32.const 100 i32.div_u - local.set $t|10 + local.set $t|9 local.get $num i32.const 100 i32.rem_u - local.set $d1|11 - local.get $t|10 + local.set $d1|10 + local.get $t|9 local.set $num local.get $offset i32.const 2 i32.sub local.set $offset i32.const 6988 - local.get $d1|11 + local.get $d1|10 i32.const 2 i32.shl i32.add @@ -20332,13 +20197,13 @@ i32.shl i32.add i32.load $0 - local.set $digits|13 + local.set $digits|12 local.get $buffer local.get $offset i32.const 1 i32.shl i32.add - local.get $digits|13 + local.get $digits|12 i32.store $0 else local.get $offset @@ -20359,13 +20224,10 @@ end ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) loop $while-continue|0 local.get $offset i32.const 2 i32.ge_u - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -20413,8 +20275,6 @@ (local $b64 i64) (local $b i64) (local $e i32) - (local $6 i32) - (local $7 i32) local.get $base local.set $value local.get $value @@ -20447,8 +20307,6 @@ local.get $num local.get $b i64.ge_u - local.set $6 - local.get $6 if local.get $num local.get $b @@ -20469,8 +20327,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $7 - local.get $7 if local.get $num local.get $b64 @@ -20732,7 +20588,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -20803,8 +20658,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -21429,7 +21282,6 @@ unreachable ) (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) (local $t i64) (local $r i32) (local $b i32) @@ -21444,8 +21296,6 @@ local.get $num i64.const 100000000 i64.ge_u - local.set $3 - local.get $3 if local.get $num i64.const 100000000 @@ -21798,32 +21648,28 @@ (local $p2 i64) (local $kappa i32) (local $len i32) - (local $15 i32) (local $d i32) + (local $16 i32) (local $17 i32) - (local $18 i32) (local $tmp i64) - (local $buffer|20 i32) - (local $len|21 i32) - (local $delta|22 i64) + (local $buffer|19 i32) + (local $len|20 i32) + (local $delta|21 i64) (local $rest i64) (local $ten_kappa i64) (local $wp_w i64) (local $lastp i32) (local $digit i32) + (local $d|27 i64) (local $28 i32) - (local $29 i32) - (local $d|30 i64) - (local $31 i32) - (local $buffer|32 i32) - (local $len|33 i32) - (local $delta|34 i64) - (local $rest|35 i64) - (local $ten_kappa|36 i64) - (local $wp_w|37 i64) - (local $lastp|38 i32) - (local $digit|39 i32) - (local $40 i32) + (local $buffer|29 i32) + (local $len|30 i32) + (local $delta|31 i64) + (local $rest|32 i64) + (local $ten_kappa|33 i64) + (local $wp_w|34 i64) + (local $lastp|35 i32) + (local $digit|36 i32) i32.const 0 local.get $mp_exp i32.sub @@ -21860,8 +21706,6 @@ local.get $kappa i32.const 0 i32.gt_s - local.set $15 - local.get $15 if block $break|1 block $case10|1 @@ -21876,44 +21720,44 @@ block $case1|1 block $case0|1 local.get $kappa - local.set $17 - local.get $17 + local.set $16 + local.get $16 i32.const 10 i32.eq br_if $case0|1 - local.get $17 + local.get $16 i32.const 9 i32.eq br_if $case1|1 - local.get $17 + local.get $16 i32.const 8 i32.eq br_if $case2|1 - local.get $17 + local.get $16 i32.const 7 i32.eq br_if $case3|1 - local.get $17 + local.get $16 i32.const 6 i32.eq br_if $case4|1 - local.get $17 + local.get $16 i32.const 5 i32.eq br_if $case5|1 - local.get $17 + local.get $16 i32.const 4 i32.eq br_if $case6|1 - local.get $17 + local.get $16 i32.const 3 i32.eq br_if $case7|1 - local.get $17 + local.get $16 i32.const 2 i32.eq br_if $case8|1 - local.get $17 + local.get $16 i32.const 1 i32.eq br_if $case9|1 @@ -22025,11 +21869,11 @@ if local.get $buffer local.get $len - local.tee $18 + local.tee $17 i32.const 1 i32.add local.set $len - local.get $18 + local.get $17 i32.const 1 i32.shl i32.add @@ -22061,11 +21905,11 @@ i32.add global.set $~lib/util/number/_K local.get $buffer - local.set $buffer|20 + local.set $buffer|19 local.get $len - local.set $len|21 + local.set $len|20 local.get $delta - local.set $delta|22 + local.set $delta|21 local.get $tmp local.set $rest i32.const 9712 @@ -22080,8 +21924,8 @@ local.set $ten_kappa local.get $wp_w_frc local.set $wp_w - local.get $buffer|20 - local.get $len|21 + local.get $buffer|19 + local.get $len|20 i32.const 1 i32.sub i32.const 1 @@ -22096,7 +21940,7 @@ local.get $wp_w i64.lt_u if (result i32) - local.get $delta|22 + local.get $delta|21 local.get $rest i64.sub local.get $ten_kappa @@ -22126,8 +21970,6 @@ else i32.const 0 end - local.set $28 - local.get $28 if local.get $digit i32.const 1 @@ -22151,8 +21993,6 @@ end loop $while-continue|4 i32.const 1 - local.set $29 - local.get $29 if local.get $p2 i64.const 10 @@ -22166,8 +22006,8 @@ local.get $one_exp i64.extend_i32_s i64.shr_u - local.set $d|30 - local.get $d|30 + local.set $d|27 + local.get $d|27 local.get $len i64.extend_i32_s i64.or @@ -22176,16 +22016,16 @@ if local.get $buffer local.get $len - local.tee $31 + local.tee $28 i32.const 1 i32.add local.set $len - local.get $31 + local.get $28 i32.const 1 i32.shl i32.add i32.const 48 - local.get $d|30 + local.get $d|27 i32.wrap_i64 i32.const 65535 i32.and @@ -22220,79 +22060,77 @@ i64.mul local.set $wp_w_frc local.get $buffer - local.set $buffer|32 + local.set $buffer|29 local.get $len - local.set $len|33 + local.set $len|30 local.get $delta - local.set $delta|34 + local.set $delta|31 local.get $p2 - local.set $rest|35 + local.set $rest|32 local.get $one_frc - local.set $ten_kappa|36 + local.set $ten_kappa|33 local.get $wp_w_frc - local.set $wp_w|37 - local.get $buffer|32 - local.get $len|33 + local.set $wp_w|34 + local.get $buffer|29 + local.get $len|30 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $lastp|38 - local.get $lastp|38 + local.set $lastp|35 + local.get $lastp|35 i32.load16_u $0 - local.set $digit|39 + local.set $digit|36 loop $while-continue|6 - local.get $rest|35 - local.get $wp_w|37 + local.get $rest|32 + local.get $wp_w|34 i64.lt_u if (result i32) - local.get $delta|34 - local.get $rest|35 + local.get $delta|31 + local.get $rest|32 i64.sub - local.get $ten_kappa|36 + local.get $ten_kappa|33 i64.ge_u else i32.const 0 end if (result i32) - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.lt_u if (result i32) i32.const 1 else - local.get $wp_w|37 - local.get $rest|35 + local.get $wp_w|34 + local.get $rest|32 i64.sub - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.sub i64.gt_u end else i32.const 0 end - local.set $40 - local.get $40 if - local.get $digit|39 + local.get $digit|36 i32.const 1 i32.sub - local.set $digit|39 - local.get $rest|35 - local.get $ten_kappa|36 + local.set $digit|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.set $rest|35 + local.set $rest|32 br $while-continue|6 end end - local.get $lastp|38 - local.get $digit|39 + local.get $lastp|35 + local.get $digit|36 i32.store16 $0 local.get $len return @@ -30999,8 +30837,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -31077,8 +30913,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -31127,8 +30961,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -31182,11 +31014,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) local.get $i local.get $right i32.eq @@ -31246,8 +31075,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -31262,8 +31089,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -31330,8 +31155,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -31513,19 +31336,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -31742,8 +31564,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -31766,15 +31586,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -31793,16 +31613,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -31815,7 +31635,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -31829,17 +31649,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -31867,29 +31687,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -31901,10 +31721,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -31951,8 +31771,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -32029,8 +31847,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -32079,8 +31895,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -32134,11 +31948,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) local.get $i local.get $right i32.eq @@ -32198,8 +32009,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -32214,8 +32023,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -32282,8 +32089,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -32465,19 +32270,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -32694,8 +32498,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -32718,15 +32520,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -32745,16 +32547,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -32767,7 +32569,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -32781,17 +32583,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -32819,29 +32621,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -32853,10 +32655,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -32960,8 +32762,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -33038,8 +32838,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -33088,8 +32886,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -33143,11 +32939,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) local.get $i local.get $right i32.eq @@ -33207,8 +33000,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -33223,8 +33014,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -33291,8 +33080,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -33474,19 +33261,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -33703,8 +33489,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -33727,15 +33511,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -33754,16 +33538,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -33776,7 +33560,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -33790,17 +33574,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -33828,29 +33612,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -33862,10 +33646,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -33912,8 +33696,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -33990,8 +33772,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -34040,8 +33820,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -34095,11 +33873,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) local.get $i local.get $right i32.eq @@ -34159,8 +33934,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -34175,8 +33948,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -34243,8 +34014,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -34426,19 +34195,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -34655,8 +34423,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -34679,15 +34445,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -34706,16 +34472,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -34728,7 +34494,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -34742,17 +34508,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -34780,29 +34546,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -34814,10 +34580,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -34878,8 +34644,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -34956,8 +34720,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -35006,8 +34768,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -35061,11 +34821,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) local.get $i local.get $right i32.eq @@ -35125,8 +34882,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -35141,8 +34896,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -35209,8 +34962,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -35392,19 +35143,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -35621,8 +35371,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -35645,15 +35393,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -35672,16 +35420,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -35694,7 +35442,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -35708,17 +35456,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -35746,29 +35494,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -35780,10 +35528,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -35824,8 +35572,6 @@ (local $min i32) (local $max i32) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -35902,8 +35648,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -35952,8 +35696,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -36007,11 +35749,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i32) - (local $9 i32) local.get $i local.get $right i32.eq @@ -36071,8 +35810,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -36087,8 +35824,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -36155,8 +35890,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -36338,19 +36071,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -36567,8 +36299,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -36591,15 +36321,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -36618,16 +36348,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -36640,7 +36370,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -36654,17 +36384,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -36692,29 +36422,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -36726,10 +36456,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -36774,8 +36504,6 @@ (local $min i64) (local $max i64) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -36852,8 +36580,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -36902,8 +36628,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -36957,11 +36681,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i64) - (local $9 i32) local.get $i local.get $right i32.eq @@ -37021,8 +36742,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -37037,8 +36756,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -37105,8 +36822,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -37288,19 +37003,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -37517,8 +37231,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -37541,15 +37253,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -37568,16 +37280,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -37590,7 +37302,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -37604,17 +37316,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -37642,29 +37354,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -37676,10 +37388,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -37724,8 +37436,6 @@ (local $min i64) (local $max i64) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -37802,8 +37512,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -37852,8 +37560,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -37907,11 +37613,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp i64) - (local $9 i32) local.get $i local.get $right i32.eq @@ -37971,8 +37674,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -37987,8 +37688,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -38055,8 +37754,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -38238,19 +37935,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -38467,8 +38163,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -38491,15 +38185,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -38518,16 +38212,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -38540,7 +38234,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -38554,17 +38248,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -38592,29 +38286,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -38626,10 +38320,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -38674,8 +38368,6 @@ (local $min f32) (local $max f32) (local $j i32) - (local $13 i32) - (local $14 i32) i32.const 0 i32.const 1 i32.ge_s @@ -38752,8 +38444,6 @@ local.get $j local.get $left i32.ge_s - local.set $13 - local.get $13 if local.get $ptr local.get $j @@ -38802,8 +38492,6 @@ local.get $j local.get $left i32.ge_s - local.set $14 - local.get $14 if local.get $ptr local.get $j @@ -38857,11 +38545,8 @@ ) (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) - (local $5 i32) (local $k i32) - (local $7 i32) (local $tmp f32) - (local $9 i32) local.get $i local.get $right i32.eq @@ -38921,8 +38606,6 @@ else i32.const 0 end - local.set $5 - local.get $5 if local.get $j i32.const 1 @@ -38937,8 +38620,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -39005,8 +38686,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $j i32.const 1 @@ -39188,19 +38867,18 @@ (local $22 i32) (local $top i32) (local $startA i32) - (local $25 i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $28 i32) (local $29 i32) - (local $30 i32) (local $k i32) - (local $i|32 i32) - (local $33 i32) + (local $i|31 i32) + (local $32 i32) (local $start i32) - (local $i|35 i32) - (local $36 i32) - (local $start|37 i32) + (local $i|34 i32) + (local $35 i32) + (local $start|36 i32) local.get $len i32.const 48 i32.le_s @@ -39417,8 +39095,6 @@ local.get $endA local.get $hi i32.lt_s - local.set $25 - local.get $25 if local.get $endA i32.const 1 @@ -39441,15 +39117,15 @@ i32.lt_s if local.get $hi - local.tee $29 + local.tee $28 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $30 + local.tee $29 + local.get $28 local.get $29 - local.get $30 i32.lt_s select local.set $endB @@ -39468,16 +39144,16 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|32 + local.set $i|31 loop $for-loop|3 - local.get $i|32 + local.get $i|31 local.get $k i32.gt_u - local.set $33 - local.get $33 + local.set $32 + local.get $32 if local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -39490,7 +39166,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add @@ -39504,17 +39180,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|32 + local.get $i|31 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|32 + local.get $i|31 i32.const 1 i32.sub - local.set $i|32 + local.set $i|31 br $for-loop|3 end end @@ -39542,29 +39218,29 @@ end end local.get $top - local.set $i|35 + local.set $i|34 loop $for-loop|4 - local.get $i|35 + local.get $i|34 i32.const 0 i32.ne - local.set $36 - local.get $36 + local.set $35 + local.get $35 if local.get $leftRunStartBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|37 - local.get $start|37 + local.set $start|36 + local.get $start|36 i32.const -1 i32.ne if local.get $ptr - local.get $start|37 + local.get $start|36 local.get $leftRunEndBuf - local.get $i|35 + local.get $i|34 i32.const 2 i32.shl i32.add @@ -39576,10 +39252,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|35 + local.get $i|34 i32.const 1 i32.sub - local.set $i|35 + local.set $i|34 br $for-loop|4 end end @@ -39649,8 +39325,6 @@ i32.sub ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -39661,8 +39335,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -39676,8 +39348,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/std/uri.debug.wat b/tests/compiler/std/uri.debug.wat index e0a46b0bd5..8c5c5ac9cf 100644 --- a/tests/compiler/std/uri.debug.wat +++ b/tests/compiler/std/uri.debug.wat @@ -156,7 +156,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -168,8 +167,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -416,15 +413,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1471,8 +1465,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1517,8 +1509,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1568,8 +1558,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2349,7 +2337,6 @@ (local $offset i32) (local $outSize i32) (local $dst i32) - (local $7 i32) (local $org i32) (local $c i32) (local $c1 i32) @@ -2378,8 +2365,6 @@ local.get $i local.get $len i32.lt_u - local.set $7 - local.get $7 if local.get $i local.set $org @@ -2711,7 +2696,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2782,8 +2766,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -2950,17 +2932,14 @@ (local $offset i32) (local $ch i32) (local $dst i32) - (local $7 i32) (local $org i32) - (local $9 i32) (local $size i32) - (local $ch|11 i32) + (local $ch|9 i32) (local $c0 i32) (local $nb i32) (local $lo i32) - (local $15 i32) (local $c1 i32) - (local $lo|17 i32) + (local $lo|14 i32) (local $hi i32) local.get $len i32.eqz @@ -2985,8 +2964,6 @@ local.get $i local.get $len i32.lt_u - local.set $7 - local.get $7 if local.get $i local.set $org @@ -3007,8 +2984,6 @@ else i32.const 0 end - local.set $9 - local.get $9 if local.get $i i32.const 1 @@ -3094,15 +3069,15 @@ i32.eqz if (result i32) local.get $ch - local.set $ch|11 - local.get $ch|11 + local.set $ch|9 + local.get $ch|9 i32.const 35 i32.sub i32.const 30 i32.lt_u if (result i32) global.get $~lib/util/uri/URI_RESERVED - local.get $ch|11 + local.get $ch|9 i32.const 35 i32.sub i32.add @@ -3171,8 +3146,6 @@ local.tee $nb i32.const 0 i32.ne - local.set $15 - local.get $15 if local.get $i i32.const 2 @@ -3291,7 +3264,7 @@ i32.shr_u i32.const 55296 i32.or - local.set $lo|17 + local.set $lo|14 local.get $ch i32.const 1023 i32.and @@ -3301,7 +3274,7 @@ local.get $dst local.get $offset i32.add - local.get $lo|17 + local.get $lo|14 local.get $hi i32.const 16 i32.shl @@ -3369,8 +3342,6 @@ call $~lib/util/uri/decode ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -3381,8 +3352,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -3396,8 +3365,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/super-inline.debug.wat b/tests/compiler/super-inline.debug.wat index 09627911ce..2866989738 100644 --- a/tests/compiler/super-inline.debug.wat +++ b/tests/compiler/super-inline.debug.wat @@ -83,7 +83,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -95,8 +94,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -343,15 +340,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1398,8 +1392,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1444,8 +1436,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1495,8 +1485,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/templateliteral.debug.wat b/tests/compiler/templateliteral.debug.wat index d68dc809ce..756c455512 100644 --- a/tests/compiler/templateliteral.debug.wat +++ b/tests/compiler/templateliteral.debug.wat @@ -122,7 +122,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -193,8 +192,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -306,7 +303,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -318,8 +314,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -566,15 +560,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1621,8 +1612,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1667,8 +1656,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1718,8 +1705,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2584,24 +2569,21 @@ unreachable ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $3 i32) (local $t i32) (local $r i32) (local $d1 i32) (local $d2 i32) (local $digits1 i64) (local $digits2 i64) - (local $t|10 i32) - (local $d1|11 i32) + (local $t|9 i32) + (local $d1|10 i32) (local $digits i32) - (local $digits|13 i32) + (local $digits|12 i32) (local $digit i32) loop $while-continue|0 local.get $num i32.const 10000 i32.ge_u - local.set $3 - local.get $3 if local.get $num i32.const 10000 @@ -2660,19 +2642,19 @@ local.get $num i32.const 100 i32.div_u - local.set $t|10 + local.set $t|9 local.get $num i32.const 100 i32.rem_u - local.set $d1|11 - local.get $t|10 + local.set $d1|10 + local.get $t|9 local.set $num local.get $offset i32.const 2 i32.sub local.set $offset i32.const 1020 - local.get $d1|11 + local.get $d1|10 i32.const 2 i32.shl i32.add @@ -2700,13 +2682,13 @@ i32.shl i32.add i32.load $0 - local.set $digits|13 + local.set $digits|12 local.get $buffer local.get $offset i32.const 1 i32.shl i32.add - local.get $digits|13 + local.get $digits|12 i32.store $0 else local.get $offset @@ -2727,13 +2709,10 @@ end ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $3 i32) loop $while-continue|0 local.get $offset i32.const 2 i32.ge_u - local.set $3 - local.get $3 if local.get $offset i32.const 2 @@ -2781,8 +2760,6 @@ (local $b64 i64) (local $b i64) (local $e i32) - (local $6 i32) - (local $7 i32) local.get $base local.set $value local.get $value @@ -2815,8 +2792,6 @@ local.get $num local.get $b i64.ge_u - local.set $6 - local.get $6 if local.get $num local.get $b @@ -2837,8 +2812,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $7 - local.get $7 if local.get $num local.get $b64 @@ -2960,32 +2933,28 @@ (local $p2 i64) (local $kappa i32) (local $len i32) - (local $15 i32) (local $d i32) + (local $16 i32) (local $17 i32) - (local $18 i32) (local $tmp i64) - (local $buffer|20 i32) - (local $len|21 i32) - (local $delta|22 i64) + (local $buffer|19 i32) + (local $len|20 i32) + (local $delta|21 i64) (local $rest i64) (local $ten_kappa i64) (local $wp_w i64) (local $lastp i32) (local $digit i32) + (local $d|27 i64) (local $28 i32) - (local $29 i32) - (local $d|30 i64) - (local $31 i32) - (local $buffer|32 i32) - (local $len|33 i32) - (local $delta|34 i64) - (local $rest|35 i64) - (local $ten_kappa|36 i64) - (local $wp_w|37 i64) - (local $lastp|38 i32) - (local $digit|39 i32) - (local $40 i32) + (local $buffer|29 i32) + (local $len|30 i32) + (local $delta|31 i64) + (local $rest|32 i64) + (local $ten_kappa|33 i64) + (local $wp_w|34 i64) + (local $lastp|35 i32) + (local $digit|36 i32) i32.const 0 local.get $mp_exp i32.sub @@ -3022,8 +2991,6 @@ local.get $kappa i32.const 0 i32.gt_s - local.set $15 - local.get $15 if block $break|1 block $case10|1 @@ -3038,44 +3005,44 @@ block $case1|1 block $case0|1 local.get $kappa - local.set $17 - local.get $17 + local.set $16 + local.get $16 i32.const 10 i32.eq br_if $case0|1 - local.get $17 + local.get $16 i32.const 9 i32.eq br_if $case1|1 - local.get $17 + local.get $16 i32.const 8 i32.eq br_if $case2|1 - local.get $17 + local.get $16 i32.const 7 i32.eq br_if $case3|1 - local.get $17 + local.get $16 i32.const 6 i32.eq br_if $case4|1 - local.get $17 + local.get $16 i32.const 5 i32.eq br_if $case5|1 - local.get $17 + local.get $16 i32.const 4 i32.eq br_if $case6|1 - local.get $17 + local.get $16 i32.const 3 i32.eq br_if $case7|1 - local.get $17 + local.get $16 i32.const 2 i32.eq br_if $case8|1 - local.get $17 + local.get $16 i32.const 1 i32.eq br_if $case9|1 @@ -3187,11 +3154,11 @@ if local.get $buffer local.get $len - local.tee $18 + local.tee $17 i32.const 1 i32.add local.set $len - local.get $18 + local.get $17 i32.const 1 i32.shl i32.add @@ -3223,11 +3190,11 @@ i32.add global.set $~lib/util/number/_K local.get $buffer - local.set $buffer|20 + local.set $buffer|19 local.get $len - local.set $len|21 + local.set $len|20 local.get $delta - local.set $delta|22 + local.set $delta|21 local.get $tmp local.set $rest i32.const 3824 @@ -3242,8 +3209,8 @@ local.set $ten_kappa local.get $wp_w_frc local.set $wp_w - local.get $buffer|20 - local.get $len|21 + local.get $buffer|19 + local.get $len|20 i32.const 1 i32.sub i32.const 1 @@ -3258,7 +3225,7 @@ local.get $wp_w i64.lt_u if (result i32) - local.get $delta|22 + local.get $delta|21 local.get $rest i64.sub local.get $ten_kappa @@ -3288,8 +3255,6 @@ else i32.const 0 end - local.set $28 - local.get $28 if local.get $digit i32.const 1 @@ -3313,8 +3278,6 @@ end loop $while-continue|4 i32.const 1 - local.set $29 - local.get $29 if local.get $p2 i64.const 10 @@ -3328,8 +3291,8 @@ local.get $one_exp i64.extend_i32_s i64.shr_u - local.set $d|30 - local.get $d|30 + local.set $d|27 + local.get $d|27 local.get $len i64.extend_i32_s i64.or @@ -3338,16 +3301,16 @@ if local.get $buffer local.get $len - local.tee $31 + local.tee $28 i32.const 1 i32.add local.set $len - local.get $31 + local.get $28 i32.const 1 i32.shl i32.add i32.const 48 - local.get $d|30 + local.get $d|27 i32.wrap_i64 i32.const 65535 i32.and @@ -3382,79 +3345,77 @@ i64.mul local.set $wp_w_frc local.get $buffer - local.set $buffer|32 + local.set $buffer|29 local.get $len - local.set $len|33 + local.set $len|30 local.get $delta - local.set $delta|34 + local.set $delta|31 local.get $p2 - local.set $rest|35 + local.set $rest|32 local.get $one_frc - local.set $ten_kappa|36 + local.set $ten_kappa|33 local.get $wp_w_frc - local.set $wp_w|37 - local.get $buffer|32 - local.get $len|33 + local.set $wp_w|34 + local.get $buffer|29 + local.get $len|30 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $lastp|38 - local.get $lastp|38 + local.set $lastp|35 + local.get $lastp|35 i32.load16_u $0 - local.set $digit|39 + local.set $digit|36 loop $while-continue|6 - local.get $rest|35 - local.get $wp_w|37 + local.get $rest|32 + local.get $wp_w|34 i64.lt_u if (result i32) - local.get $delta|34 - local.get $rest|35 + local.get $delta|31 + local.get $rest|32 i64.sub - local.get $ten_kappa|36 + local.get $ten_kappa|33 i64.ge_u else i32.const 0 end if (result i32) - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.lt_u if (result i32) i32.const 1 else - local.get $wp_w|37 - local.get $rest|35 + local.get $wp_w|34 + local.get $rest|32 i64.sub - local.get $rest|35 - local.get $ten_kappa|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $wp_w|37 + local.get $wp_w|34 i64.sub i64.gt_u end else i32.const 0 end - local.set $40 - local.get $40 if - local.get $digit|39 + local.get $digit|36 i32.const 1 i32.sub - local.set $digit|39 - local.get $rest|35 - local.get $ten_kappa|36 + local.set $digit|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.set $rest|35 + local.set $rest|32 br $while-continue|6 end end - local.get $lastp|38 - local.get $digit|39 + local.get $lastp|35 + local.get $digit|36 i32.store16 $0 local.get $len return @@ -4364,7 +4325,6 @@ (func $~lib/staticarray/StaticArray<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) - (local $4 i32) (local $val i32) i32.const 1 drop @@ -4381,8 +4341,6 @@ local.get $cur local.get $end i32.lt_u - local.set $4 - local.get $4 if local.get $cur i32.load $0 diff --git a/tests/compiler/throw.debug.wat b/tests/compiler/throw.debug.wat index 432aab49ab..474a27ee2f 100644 --- a/tests/compiler/throw.debug.wat +++ b/tests/compiler/throw.debug.wat @@ -93,7 +93,6 @@ (func $throw/doThrowIfLoop (type $i32_=>_none) (param $max i32) (local $a i32) (local $i i32) - (local $3 i32) (local $b i32) (local $c i32) (local $d i32) @@ -120,8 +119,6 @@ local.tee $i local.get $max i32.lt_s - local.set $3 - local.get $3 if global.get $~lib/memory/__stack_pointer i32.const 64 @@ -198,7 +195,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -210,8 +206,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -458,15 +452,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1513,8 +1504,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1559,8 +1548,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1610,8 +1597,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -1695,8 +1680,6 @@ i32.const 0 ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -1707,8 +1690,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -1722,8 +1703,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/typeof.debug.wat b/tests/compiler/typeof.debug.wat index 107e55ed6b..cccec2e822 100644 --- a/tests/compiler/typeof.debug.wat +++ b/tests/compiler/typeof.debug.wat @@ -78,7 +78,6 @@ (local $ptr1 i32) (local $ptr2 i32) (local $7 i32) - (local $8 i32) (local $a i32) (local $b i32) local.get $str1 @@ -149,8 +148,6 @@ i32.sub local.set $len local.get $7 - local.set $8 - local.get $8 if local.get $ptr1 i32.load16_u $0 @@ -265,7 +262,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -277,8 +273,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -525,15 +519,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1580,8 +1571,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1626,8 +1615,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1677,8 +1664,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color diff --git a/tests/compiler/unify-local-flags.debug.wat b/tests/compiler/unify-local-flags.debug.wat index a6880f7539..c09eba286c 100644 --- a/tests/compiler/unify-local-flags.debug.wat +++ b/tests/compiler/unify-local-flags.debug.wat @@ -38,7 +38,6 @@ (func $unify-local-flags/testWhile (type $none_=>_none) (local $x i32) (local $i i32) - (local $2 i32) i32.const 0 local.set $x i32.const 0 @@ -49,8 +48,6 @@ i32.and i32.const 255 i32.lt_u - local.set $2 - local.get $2 if local.get $i local.set $x @@ -69,7 +66,7 @@ local.set $x i32.const 0 local.set $i - loop $do-loop|1 + loop $do-loop|2 local.get $i local.set $x local.get $i @@ -80,7 +77,7 @@ i32.and i32.const 255 i32.lt_u - br_if $do-loop|1 + br_if $do-loop|2 end ) ) diff --git a/tests/compiler/unify-local-flags.release.wat b/tests/compiler/unify-local-flags.release.wat index ddd36c94cc..f34ecdf68b 100644 --- a/tests/compiler/unify-local-flags.release.wat +++ b/tests/compiler/unify-local-flags.release.wat @@ -39,7 +39,7 @@ ) (func $unify-local-flags/testDo (type $none_=>_none) (local $0 i32) - loop $do-loop|1 + loop $do-loop|2 local.get $0 i32.const 1 i32.add @@ -48,7 +48,7 @@ i32.and i32.const 255 i32.lt_u - br_if $do-loop|1 + br_if $do-loop|2 end ) ) diff --git a/tests/compiler/while.debug.wat b/tests/compiler/while.debug.wat index 41405a0dc2..8dd3ca7e07 100644 --- a/tests/compiler/while.debug.wat +++ b/tests/compiler/while.debug.wat @@ -46,15 +46,12 @@ (func $while/testSimple (type $none_=>_none) (local $i i32) (local $j i32) - (local $2 i32) i32.const 10 local.set $i i32.const 0 local.set $j loop $while-continue|0 local.get $i - local.set $2 - local.get $2 if local.get $i i32.const 1 @@ -98,8 +95,6 @@ (local $i i32) (local $j i32) (local $k i32) - (local $3 i32) - (local $4 i32) i32.const 10 local.set $i i32.const 0 @@ -108,8 +103,6 @@ local.set $k loop $while-continue|0 local.get $i - local.set $3 - local.get $3 if local.get $i i32.const 1 @@ -121,8 +114,6 @@ local.set $j loop $while-continue|1 local.get $i - local.set $4 - local.get $4 if local.get $i i32.const 1 @@ -205,7 +196,6 @@ (local $i i32) (local $j i32) (local $2 i32) - (local $3 i32) i32.const 1 local.set $i i32.const 0 @@ -225,8 +215,6 @@ else i32.const 0 end - local.set $3 - local.get $3 if nop br $while-continue|0 @@ -261,14 +249,11 @@ ) (func $while/testAlwaysTrue (type $none_=>_none) (local $i i32) - (local $1 i32) i32.const 0 local.set $i block $while-break|0 loop $while-continue|0 i32.const 1 - local.set $1 - local.get $1 if local.get $i i32.const 1 @@ -300,13 +285,10 @@ ) (func $while/testAlwaysTrueNeverBreaks (type $none_=>_i32) (result i32) (local $i i32) - (local $1 i32) i32.const 0 local.set $i loop $while-continue|0 i32.const 1 - local.set $1 - local.get $1 if local.get $i i32.const 1 @@ -346,7 +328,6 @@ ) (func $while/testAlwaysBreaks (type $none_=>_none) (local $i i32) - (local $1 i32) i32.const 0 local.set $i block $while-break|0 @@ -355,8 +336,6 @@ i32.const 1 i32.add local.tee $i - local.set $1 - local.get $1 if br $while-break|0 end @@ -379,7 +358,6 @@ ) (func $while/testAlwaysReturns (type $none_=>_none) (local $i i32) - (local $1 i32) i32.const 0 local.set $i loop $while-continue|0 @@ -387,8 +365,6 @@ i32.const 1 i32.add local.tee $i - local.set $1 - local.get $1 if i32.const 1 global.set $while/ran @@ -408,13 +384,10 @@ ) (func $while/testContinue (type $none_=>_none) (local $i i32) - (local $1 i32) i32.const 10 local.set $i loop $while-continue|0 local.get $i - local.set $1 - local.get $1 if local.get $i i32.const 1 @@ -441,21 +414,15 @@ (func $while/testNestedContinue (type $none_=>_none) (local $i i32) (local $j i32) - (local $2 i32) - (local $3 i32) i32.const 10 local.set $i i32.const 10 local.set $j loop $while-continue|0 local.get $i - local.set $2 - local.get $2 if loop $while-continue|1 local.get $j - local.set $3 - local.get $3 if local.get $j i32.const 1 @@ -538,7 +505,6 @@ (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) (local $iter i32) - (local $3 i32) local.get $cookie call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace @@ -550,8 +516,6 @@ local.get $iter local.get $pn i32.ne - local.set $3 - local.get $3 if i32.const 1 drop @@ -798,15 +762,12 @@ ) (func $~lib/rt/itcms/visitStack (type $i32_=>_none) (param $cookie i32) (local $ptr i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer local.set $ptr loop $while-continue|0 local.get $ptr global.get $~lib/memory/__heap_base i32.lt_u - local.set $2 - local.get $2 if local.get $ptr i32.load $0 @@ -1853,8 +1814,6 @@ (local $obj i32) (local $1 i32) (local $black i32) - (local $3 i32) - (local $4 i32) (local $from i32) block $break|0 block $case2|0 @@ -1899,8 +1858,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $3 - local.get $3 if local.get $obj global.set $~lib/rt/itcms/iter @@ -1950,8 +1907,6 @@ local.get $obj global.get $~lib/rt/itcms/toSpace i32.ne - local.set $4 - local.get $4 if local.get $obj call $~lib/rt/itcms/Object#get:color @@ -2652,7 +2607,6 @@ (func $while/testRef (type $none_=>_none) (local $i i32) (local $ref i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2668,10 +2622,8 @@ call $while/Ref#constructor local.tee $ref i32.store $0 - loop $while-continue|0 + loop $while-continue|1 local.get $ref - local.set $2 - local.get $2 if local.get $i i32.const 1 @@ -2689,7 +2641,7 @@ local.tee $ref i32.store $0 end - br $while-continue|0 + br $while-continue|1 end end local.get $i @@ -2729,7 +2681,6 @@ (func $while/testRefAutorelease (type $none_=>_none) (local $i i32) (local $ref i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2748,8 +2699,6 @@ block $while-break|0 loop $while-continue|0 call $while/getRef - local.set $2 - local.get $2 if local.get $i i32.const 1 @@ -2798,14 +2747,11 @@ ) (func $while/testIfImplicitContinueThen (type $none_=>_none) (local $i i32) - (local $1 i32) i32.const 0 local.set $i block $while-break|0 loop $while-continue|0 i32.const 1 - local.set $1 - local.get $1 if local.get $i i32.const 1 @@ -2828,14 +2774,11 @@ ) (func $while/testIfImplicitContinueElse (type $none_=>_none) (local $i i32) - (local $1 i32) i32.const 0 local.set $i block $while-break|0 loop $while-continue|0 i32.const 1 - local.set $1 - local.get $1 if local.get $i i32.const 1 @@ -2889,8 +2832,6 @@ global.set $while/ran ) (func $~lib/rt/itcms/__collect (type $none_=>_none) - (local $0 i32) - (local $1 i32) i32.const 0 drop global.get $~lib/rt/itcms/state @@ -2901,8 +2842,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $0 - local.get $0 if call $~lib/rt/itcms/step drop @@ -2916,8 +2855,6 @@ global.get $~lib/rt/itcms/state i32.const 0 i32.ne - local.set $1 - local.get $1 if call $~lib/rt/itcms/step drop diff --git a/tests/compiler/while.release.wat b/tests/compiler/while.release.wat index f9935f9939..54b2cad2df 100644 --- a/tests/compiler/while.release.wat +++ b/tests/compiler/while.release.wat @@ -1550,7 +1550,7 @@ call $while/Ref#constructor local.tee $0 i32.store $0 - loop $while-continue|08 + loop $while-continue|17 local.get $0 if local.get $1 @@ -1568,7 +1568,7 @@ local.tee $0 i32.store $0 end - br $while-continue|08 + br $while-continue|17 end end local.get $1 @@ -1613,10 +1613,10 @@ call $while/Ref#constructor local.tee $1 i32.store $0 - loop $while-continue|012 + loop $while-continue|010 call $while/Ref#constructor if - block $while-break|011 + block $while-break|09 local.get $0 i32.const 1 i32.add @@ -1626,9 +1626,9 @@ if i32.const 0 local.set $1 - br $while-break|011 + br $while-break|09 end - br $while-continue|012 + br $while-continue|010 end end end From ed1baaa5e97245d7613c449f7d9c4efe31f976db Mon Sep 17 00:00:00 2001 From: dcode Date: Mon, 28 Nov 2022 11:41:18 +0100 Subject: [PATCH 03/14] progress --- src/compiler.ts | 141 +- src/flow.ts | 13 +- tests/compiler/bindings/esm.debug.wat | 114 +- .../bindings/noExportRuntime.debug.wat | 36 +- tests/compiler/bindings/raw.debug.wat | 114 +- tests/compiler/call-super.debug.wat | 36 +- tests/compiler/class-implements.debug.wat | 36 +- .../compiler/class-overloading-cast.debug.wat | 36 +- tests/compiler/class-overloading.debug.wat | 36 +- tests/compiler/class.debug.wat | 36 +- tests/compiler/comma.debug.wat | 3 - tests/compiler/constructor.debug.wat | 36 +- tests/compiler/continue.debug.wat | 3 - tests/compiler/do.debug.wat | 36 +- tests/compiler/do.release.wat | 28 +- tests/compiler/duplicate-fields.debug.wat | 36 +- tests/compiler/empty-exportruntime.debug.wat | 36 +- tests/compiler/empty-new.debug.wat | 36 +- .../compiler/exportstar-rereexport.debug.wat | 36 +- .../compiler/extends-baseaggregate.debug.wat | 36 +- tests/compiler/extends-recursive.debug.wat | 36 +- tests/compiler/field-initialization.debug.wat | 36 +- tests/compiler/field.debug.wat | 36 +- tests/compiler/for.debug.wat | 107 +- tests/compiler/for.release.wat | 32 +- tests/compiler/function-call.debug.wat | 36 +- tests/compiler/function-expression.debug.wat | 36 +- tests/compiler/getter-call.debug.wat | 36 +- tests/compiler/heap.debug.wat | 36 +- tests/compiler/infer-array.debug.wat | 36 +- tests/compiler/infer-generic.debug.wat | 39 +- tests/compiler/infer-type.debug.wat | 3 - tests/compiler/inlining.debug.wat | 36 +- tests/compiler/instanceof.debug.wat | 36 +- tests/compiler/issues/1095.debug.wat | 36 +- tests/compiler/issues/1225.debug.wat | 36 +- tests/compiler/issues/1699.debug.wat | 53 +- tests/compiler/issues/2166.debug.wat | 36 +- tests/compiler/issues/2322/index.debug.wat | 36 +- tests/compiler/logical.debug.wat | 36 +- tests/compiler/loop-flow.debug.wat | 38 +- tests/compiler/loop-flow.release.wat | 9 +- tests/compiler/managed-cast.debug.wat | 36 +- tests/compiler/new.debug.wat | 36 +- tests/compiler/object-literal.debug.wat | 36 +- .../optional-typeparameters.debug.wat | 36 +- tests/compiler/reexport.debug.wat | 36 +- tests/compiler/rereexport.debug.wat | 36 +- tests/compiler/resolve-access.debug.wat | 36 +- tests/compiler/resolve-binary.debug.wat | 144 +- .../compiler/resolve-elementaccess.debug.wat | 144 +- .../resolve-function-expression.debug.wat | 36 +- tests/compiler/resolve-new.debug.wat | 36 +- .../compiler/resolve-propertyaccess.debug.wat | 36 +- tests/compiler/resolve-ternary.debug.wat | 144 +- tests/compiler/resolve-unary.debug.wat | 36 +- tests/compiler/retain-i32.debug.wat | 3 - tests/compiler/return-unreachable.debug.wat | 36 +- tests/compiler/rt/finalize.debug.wat | 36 +- .../rt/runtime-incremental-export.debug.wat | 36 +- .../rt/runtime-minimal-export.debug.wat | 36 +- tests/compiler/scoped.debug.wat | 10 +- tests/compiler/simd.debug.wat | 36 +- tests/compiler/std/array-literal.debug.wat | 36 +- tests/compiler/std/array.debug.wat | 5557 ++++++----- tests/compiler/std/arraybuffer.debug.wat | 36 +- tests/compiler/std/dataview.debug.wat | 36 +- tests/compiler/std/date.debug.wat | 172 +- tests/compiler/std/map.debug.wat | 1126 +-- tests/compiler/std/math.debug.wat | 92 +- tests/compiler/std/new.debug.wat | 36 +- .../std/operator-overloading.debug.wat | 36 +- tests/compiler/std/set.debug.wat | 836 +- tests/compiler/std/static-array.debug.wat | 36 +- tests/compiler/std/staticarray.debug.wat | 898 +- .../compiler/std/string-casemapping.debug.wat | 1879 ++-- tests/compiler/std/string-encoding.debug.wat | 36 +- tests/compiler/std/string.debug.wat | 700 +- tests/compiler/std/symbol.debug.wat | 36 +- tests/compiler/std/typedarray.debug.wat | 2542 ++---- tests/compiler/std/typedarray.release.wat | 8098 ++++++++--------- tests/compiler/std/uri.debug.wat | 36 +- tests/compiler/super-inline.debug.wat | 36 +- tests/compiler/templateliteral.debug.wat | 176 +- tests/compiler/throw.debug.wat | 36 +- tests/compiler/typeof.debug.wat | 36 +- tests/compiler/unify-local-flags.debug.wat | 3 - tests/compiler/while.debug.wat | 36 +- 88 files changed, 11230 insertions(+), 14043 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index d05d8f1d87..6f6ac60a20 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -2447,37 +2447,24 @@ export class Compiler extends DiagnosticEmitter { let outerFlow = this.currentFlow; let numLocalsBefore = outerFlow.targetFunction.localsByIndex.length; - // (initializer) └►┐ flow - // (block $break │ - // (loop $loop ├◄───────────┐ recompile? - // (local.set $tcond (condition)) └─┐ condFlow │ - // ┌─┘ │ - // (if (local.get $tcond) ┌◄┤ │ condition? - // (block $continue │ │ │ - // (body) │ └─┐ bodyFlow │ - // │ ┌─┘ │ - // ) ├◄┼►╢ │ breaks or terminates? - // (incrementor) │ └─┐ incrFlow │ - // │ ┌─┘ │ - // │ └────────────┘ - // (br $loop) └─┐ - // ) │ - // ) │ - // ) │ - // ┌─┘ + // (initializer) └►┐ flow + // (?block $break │ (initializer) + // (?loop $loop ┌◄┤ (condition) shortcut if false ◄┐ + // (if (condition) ├►┐ bodyFlow │ + // (?block $continue │ │ (body) │ + // (body) │ │ if loops: (incrementor) ─────┘ + // ) │ │ recompile body? + // (incrementor) ├◄┘ + // (br $loop) ┌◄┘ + // ) + // ) + // ) - let label = outerFlow.pushBreakLabel(); - let stmts = new Array(); + // Compile initializer if present. The initializer might introduce scoped + // locals bound to the for statement, so create a new flow early. let flow = outerFlow.fork(/* resetBreakContext */ true); this.currentFlow = flow; - - let breakLabel = `for-break${label}`; - flow.breakLabel = breakLabel; - let continueLabel = `for-continue|${label}`; - flow.continueLabel = continueLabel; - let loopLabel = `for-loop|${label}`; - - // Compile initializer if present + let stmts = new Array(); let initializer = statement.initializer; if (initializer) { assert( @@ -2487,9 +2474,7 @@ export class Compiler extends DiagnosticEmitter { stmts.push(this.compileStatement(initializer)); } - // Precompute the condition - let condFlow = flow.fork(); - this.currentFlow = condFlow; + // Precompute the condition if present, or default to `true` let condExpr: ExpressionRef; let condExprTrueish: ExpressionRef; let condKind: ConditionKind; @@ -2499,36 +2484,30 @@ export class Compiler extends DiagnosticEmitter { condExprTrueish = this.makeIsTrueish(condExpr, this.currentType, condition); condKind = this.evaluateCondition(condExprTrueish); - // Shortcut if condition is always false (body never runs) + // Shortcut if condition is always false (body never executes) if (condKind == ConditionKind.False) { stmts.push( module.drop(condExprTrueish) ); - flow.inherit(condFlow); outerFlow.inherit(flow); - outerFlow.popBreakLabel(); this.currentFlow = outerFlow; return module.flatten(stmts); } } else { - condExpr = condExprTrueish = module.i32(1); + condExpr = module.i32(1); + condExprTrueish = condExpr; condKind = ConditionKind.True; } - - // From here on condition is either always true or unknown - - // Store condition result in a temp - let tcond = flow.getTempLocal(Type.bool); - let loopStmts = new Array(); - loopStmts.push( - module.local_set(tcond.index, condExprTrueish, false) // bool - ); - - flow.inherit(condFlow); // always executes - this.currentFlow = flow; + // From here on condition is either true or unknown // Compile the body assuming the condition turned out true let bodyFlow = flow.forkThen(condExpr); + let label = bodyFlow.pushBreakLabel(); + let breakLabel = `for-break${label}`; + bodyFlow.breakLabel = breakLabel; + let continueLabel = `for-continue|${label}`; + bodyFlow.continueLabel = continueLabel; + let loopLabel = `for-loop|${label}`; this.currentFlow = bodyFlow; let bodyStmts = new Array(); let body = statement.body; @@ -2537,33 +2516,26 @@ export class Compiler extends DiagnosticEmitter { } else { bodyStmts.push(this.compileStatement(body)); } + bodyFlow.popBreakLabel(); - // Check if body terminates - if (bodyFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks)) { - bodyStmts.push(module.unreachable()); - } - if (condKind == ConditionKind.True) flow.inherit(bodyFlow); - else flow.mergeBranch(bodyFlow); + let possiblyFallsThrough = !bodyFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks); + let possiblyContinues = bodyFlow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues); + let possiblyBreaks = bodyFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks); let ifStmts = new Array(); ifStmts.push( module.block(continueLabel, bodyStmts) ); - // Compile the incrementor if it runs - // Can still fall through to here if body continues, hence is already known to terminate - if (!bodyFlow.is(FlowFlags.Terminates) || bodyFlow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues)) { + // Compile the incrementor if it may execute + let possiblyLoops = possiblyContinues || possiblyFallsThrough; + if (possiblyLoops) { let incrementor = statement.incrementor; if (incrementor) { - let incrFlow = flow.fork(); - this.currentFlow = incrFlow; ifStmts.push( this.compileExpression(incrementor, Type.void, Constraints.ConvImplicit | Constraints.WillDrop) ); - flow.inherit(incrFlow); // mostly local flags, also covers late termination by throwing - this.currentFlow = flow; } - ifStmts.push( module.br(loopLabel) ); @@ -2571,34 +2543,41 @@ export class Compiler extends DiagnosticEmitter { // Detect if local flags are incompatible before and after looping, and if // so recompile by unifying local flags between iterations. Note that this // may be necessary multiple times where locals depend on each other. - if (outerFlow.resetIfNeedsRecompile(flow, numLocalsBefore)) { - outerFlow.popBreakLabel(); + if (outerFlow.resetIfNeedsRecompile(bodyFlow.forkThen(condExpr), numLocalsBefore)) { this.currentFlow = outerFlow; return this.doCompileForStatement(statement); } } - loopStmts.push( - module.if(module.local_get(tcond.index, TypeRef.I32), - module.flatten(ifStmts) - ) - ); - stmts.push( - module.block(breakLabel, [ - module.loop(loopLabel, - module.flatten(loopStmts) - ) - ]) - ); - this.currentFlow = flow; + // Body executes at least once + if (condKind == ConditionKind.True) { + flow.inherit(bodyFlow); + + // Otherwise executes conditionally + } else { + flow.mergeBranch(bodyFlow); + } // Finalize outerFlow.inherit(flow); - outerFlow.popBreakLabel(); + this.currentFlow = outerFlow; + let expr = module.if(condExprTrueish, + module.flatten(ifStmts) + ); + if (possiblyLoops) { + expr = module.loop(loopLabel, + expr + ); + } + if (possiblyBreaks) { + expr = module.block(breakLabel, [ + expr + ]); + } + stmts.push(expr); if (outerFlow.is(FlowFlags.Terminates)) { stmts.push(module.unreachable()); } - this.currentFlow = outerFlow; return module.flatten(stmts); } @@ -2703,7 +2682,7 @@ export class Compiler extends DiagnosticEmitter { if (thenFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks)) { // Only getting past if condition was false flow.inherit(elseFlow); - flow.mergeEffects(thenFlow); + flow.mergeSideEffects(thenFlow); } else { // Otherwise getting past conditionally flow.inheritAlternatives(thenFlow, elseFlow); @@ -2865,7 +2844,7 @@ export class Compiler extends DiagnosticEmitter { // Otherwise just merge the effects of a non-merging branch } else if (!possiblyFallsThrough) { - outerFlow.mergeEffects(innerFlow); + outerFlow.mergeSideEffects(innerFlow); } this.currentFlow = outerFlow; @@ -3217,7 +3196,7 @@ export class Compiler extends DiagnosticEmitter { if (!possiblyFallsThrough && !possiblyBreaks) { // Only getting past if condition was false outerFlow.inherit(elseFlow); - outerFlow.mergeEffects(thenFlow); + outerFlow.mergeSideEffects(thenFlow); } else { // Otherwise getting past conditionally outerFlow.inheritAlternatives(thenFlow, elseFlow); diff --git a/src/flow.ts b/src/flow.ts index 8d9d9ced26..7649fb4e42 100644 --- a/src/flow.ts +++ b/src/flow.ts @@ -631,15 +631,10 @@ export class Flow { } - /** Merges only the effects of a branch, i.e. when not taken. */ - mergeEffects(other: Flow): void { + /** Merges only the side effects of a branch, i.e. when not taken. */ + mergeSideEffects(other: Flow): void { assert(other.targetFunction == this.targetFunction); - // Note that flags in `this` flow have already happened. For instance, - // a return cannot be undone no matter what'd happen in subsequent branches, - // but an allocation, which doesn't terminate, can become conditional. Not - // all flags have a corresponding conditional flag that's tracked. - let thisFlags = this.flags; let otherFlags = other.flags; let newFlags = FlowFlags.None; @@ -713,9 +708,9 @@ export class Flow { /** Merges a branch joining again with this flow, i.e. then without else. */ mergeBranch(other: Flow): void { - this.mergeEffects(other); + this.mergeSideEffects(other); - // Local flags matter if the branch is taken + // Local flags matter if the branch does not terminate let thisLocalFlags = this.localFlags; let numThisLocalFlags = thisLocalFlags.length; let otherLocalFlags = other.localFlags; diff --git a/tests/compiler/bindings/esm.debug.wat b/tests/compiler/bindings/esm.debug.wat index 9f30601279..53fd0bb94a 100644 --- a/tests/compiler/bindings/esm.debug.wat +++ b/tests/compiler/bindings/esm.debug.wat @@ -1258,15 +1258,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1327,17 +1325,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1349,22 +1345,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -3703,10 +3697,8 @@ (func $bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $out i32) (local $i i32) - (local $4 i32) - (local $i|5 i32) - (local $6 i32) - (local $7 i32) + (local $i|4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3732,8 +3724,6 @@ local.get $a call $~lib/typedarray/Int16Array#get:length i32.lt_s - local.set $4 - local.get $4 if local.get $out local.get $i @@ -3750,39 +3740,37 @@ end end i32.const 0 - local.set $i|5 + local.set $i|4 loop $for-loop|1 - local.get $i|5 + local.get $i|4 local.get $b call $~lib/typedarray/Float32Array#get:length i32.lt_s - local.set $6 - local.get $6 if local.get $out local.get $a call $~lib/typedarray/Int16Array#get:length - local.get $i|5 + local.get $i|4 i32.add local.get $b - local.get $i|5 + local.get $i|4 call $~lib/typedarray/Float32Array#__get i64.trunc_sat_f32_u call $~lib/typedarray/Uint64Array#__set - local.get $i|5 + local.get $i|4 i32.const 1 i32.add - local.set $i|5 + local.set $i|4 br $for-loop|1 end end local.get $out - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $5 ) (func $~lib/staticarray/StaticArray#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $outSize i32) @@ -3834,10 +3822,8 @@ (func $bindings/esm/staticarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $c i32) (local $i i32) - (local $4 i32) - (local $i|5 i32) - (local $6 i32) - (local $7 i32) + (local $i|4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3863,8 +3849,6 @@ local.get $a call $~lib/staticarray/StaticArray#get:length i32.lt_s - local.set $4 - local.get $4 if local.get $c local.get $i @@ -3880,38 +3864,36 @@ end end i32.const 0 - local.set $i|5 + local.set $i|4 loop $for-loop|1 - local.get $i|5 + local.get $i|4 local.get $b call $~lib/staticarray/StaticArray#get:length i32.lt_s - local.set $6 - local.get $6 if local.get $c local.get $a call $~lib/staticarray/StaticArray#get:length - local.get $i|5 + local.get $i|4 i32.add local.get $b - local.get $i|5 + local.get $i|4 call $~lib/staticarray/StaticArray#__get call $~lib/staticarray/StaticArray#__set - local.get $i|5 + local.get $i|4 i32.const 1 i32.add - local.set $i|5 + local.set $i|4 br $for-loop|1 end end local.get $c - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $5 ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -4006,10 +3988,8 @@ (func $bindings/esm/arrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $c i32) (local $i i32) - (local $4 i32) - (local $i|5 i32) - (local $6 i32) - (local $7 i32) + (local $i|4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4035,8 +4015,6 @@ local.get $a call $~lib/array/Array#get:length i32.lt_s - local.set $4 - local.get $4 if local.get $c local.get $i @@ -4052,38 +4030,36 @@ end end i32.const 0 - local.set $i|5 + local.set $i|4 loop $for-loop|1 - local.get $i|5 + local.get $i|4 local.get $b call $~lib/array/Array#get:length i32.lt_s - local.set $6 - local.get $6 if local.get $c local.get $a call $~lib/array/Array#get:length - local.get $i|5 + local.get $i|4 i32.add local.get $b - local.get $i|5 + local.get $i|4 call $~lib/array/Array#__get call $~lib/array/Array#__set - local.get $i|5 + local.get $i|4 i32.const 1 i32.add - local.set $i|5 + local.set $i|4 br $for-loop|1 end end local.get $c - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $5 ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) diff --git a/tests/compiler/bindings/noExportRuntime.debug.wat b/tests/compiler/bindings/noExportRuntime.debug.wat index a57e87360a..0e9db84af2 100644 --- a/tests/compiler/bindings/noExportRuntime.debug.wat +++ b/tests/compiler/bindings/noExportRuntime.debug.wat @@ -1180,15 +1180,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1249,17 +1247,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1271,22 +1267,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/bindings/raw.debug.wat b/tests/compiler/bindings/raw.debug.wat index d64cfbe4a0..9ed304a21d 100644 --- a/tests/compiler/bindings/raw.debug.wat +++ b/tests/compiler/bindings/raw.debug.wat @@ -1261,15 +1261,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1330,17 +1328,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1352,22 +1348,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -3706,10 +3700,8 @@ (func $bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $out i32) (local $i i32) - (local $4 i32) - (local $i|5 i32) - (local $6 i32) - (local $7 i32) + (local $i|4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3735,8 +3727,6 @@ local.get $a call $~lib/typedarray/Int16Array#get:length i32.lt_s - local.set $4 - local.get $4 if local.get $out local.get $i @@ -3753,39 +3743,37 @@ end end i32.const 0 - local.set $i|5 + local.set $i|4 loop $for-loop|1 - local.get $i|5 + local.get $i|4 local.get $b call $~lib/typedarray/Float32Array#get:length i32.lt_s - local.set $6 - local.get $6 if local.get $out local.get $a call $~lib/typedarray/Int16Array#get:length - local.get $i|5 + local.get $i|4 i32.add local.get $b - local.get $i|5 + local.get $i|4 call $~lib/typedarray/Float32Array#__get i64.trunc_sat_f32_u call $~lib/typedarray/Uint64Array#__set - local.get $i|5 + local.get $i|4 i32.const 1 i32.add - local.set $i|5 + local.set $i|4 br $for-loop|1 end end local.get $out - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $5 ) (func $~lib/staticarray/StaticArray#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $outSize i32) @@ -3837,10 +3825,8 @@ (func $bindings/esm/staticarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $c i32) (local $i i32) - (local $4 i32) - (local $i|5 i32) - (local $6 i32) - (local $7 i32) + (local $i|4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3866,8 +3852,6 @@ local.get $a call $~lib/staticarray/StaticArray#get:length i32.lt_s - local.set $4 - local.get $4 if local.get $c local.get $i @@ -3883,38 +3867,36 @@ end end i32.const 0 - local.set $i|5 + local.set $i|4 loop $for-loop|1 - local.get $i|5 + local.get $i|4 local.get $b call $~lib/staticarray/StaticArray#get:length i32.lt_s - local.set $6 - local.get $6 if local.get $c local.get $a call $~lib/staticarray/StaticArray#get:length - local.get $i|5 + local.get $i|4 i32.add local.get $b - local.get $i|5 + local.get $i|4 call $~lib/staticarray/StaticArray#__get call $~lib/staticarray/StaticArray#__set - local.get $i|5 + local.get $i|4 i32.const 1 i32.add - local.set $i|5 + local.set $i|4 br $for-loop|1 end end local.get $c - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $5 ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -4009,10 +3991,8 @@ (func $bindings/esm/arrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $c i32) (local $i i32) - (local $4 i32) - (local $i|5 i32) - (local $6 i32) - (local $7 i32) + (local $i|4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4038,8 +4018,6 @@ local.get $a call $~lib/array/Array#get:length i32.lt_s - local.set $4 - local.get $4 if local.get $c local.get $i @@ -4055,38 +4033,36 @@ end end i32.const 0 - local.set $i|5 + local.set $i|4 loop $for-loop|1 - local.get $i|5 + local.get $i|4 local.get $b call $~lib/array/Array#get:length i32.lt_s - local.set $6 - local.get $6 if local.get $c local.get $a call $~lib/array/Array#get:length - local.get $i|5 + local.get $i|4 i32.add local.get $b - local.get $i|5 + local.get $i|4 call $~lib/array/Array#__get call $~lib/array/Array#__set - local.get $i|5 + local.get $i|4 i32.const 1 i32.add - local.set $i|5 + local.set $i|4 br $for-loop|1 end end local.get $c - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $5 ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) diff --git a/tests/compiler/call-super.debug.wat b/tests/compiler/call-super.debug.wat index cb18741e64..e303d0a5f2 100644 --- a/tests/compiler/call-super.debug.wat +++ b/tests/compiler/call-super.debug.wat @@ -1156,15 +1156,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1225,17 +1223,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1247,22 +1243,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/class-implements.debug.wat b/tests/compiler/class-implements.debug.wat index 290eb1ccb3..6bb5c9156d 100644 --- a/tests/compiler/class-implements.debug.wat +++ b/tests/compiler/class-implements.debug.wat @@ -1159,15 +1159,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1228,17 +1226,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1250,22 +1246,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/class-overloading-cast.debug.wat b/tests/compiler/class-overloading-cast.debug.wat index e23e9a82e3..fe29f54c6a 100644 --- a/tests/compiler/class-overloading-cast.debug.wat +++ b/tests/compiler/class-overloading-cast.debug.wat @@ -1165,15 +1165,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1234,17 +1232,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1256,22 +1252,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/class-overloading.debug.wat b/tests/compiler/class-overloading.debug.wat index cd64ee890b..f8f4a233bc 100644 --- a/tests/compiler/class-overloading.debug.wat +++ b/tests/compiler/class-overloading.debug.wat @@ -1169,15 +1169,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1238,17 +1236,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1260,22 +1256,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/class.debug.wat b/tests/compiler/class.debug.wat index e1e8b913e3..6f9e13e915 100644 --- a/tests/compiler/class.debug.wat +++ b/tests/compiler/class.debug.wat @@ -1277,15 +1277,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1346,17 +1344,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1368,22 +1364,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/comma.debug.wat b/tests/compiler/comma.debug.wat index 9cc2736278..b1b42f6ebb 100644 --- a/tests/compiler/comma.debug.wat +++ b/tests/compiler/comma.debug.wat @@ -16,7 +16,6 @@ (func $start:comma (type $none_=>_none) (local $0 i32) (local $c i32) - (local $2 i32) global.get $comma/a local.tee $0 i32.const 1 @@ -152,8 +151,6 @@ local.get $c global.get $comma/a i32.lt_s - local.set $2 - local.get $2 if nop global.get $comma/a diff --git a/tests/compiler/constructor.debug.wat b/tests/compiler/constructor.debug.wat index d45bedcddd..cb1473d514 100644 --- a/tests/compiler/constructor.debug.wat +++ b/tests/compiler/constructor.debug.wat @@ -1164,15 +1164,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1233,17 +1231,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1255,22 +1251,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/continue.debug.wat b/tests/compiler/continue.debug.wat index d6028b73f9..f9b74ce81d 100644 --- a/tests/compiler/continue.debug.wat +++ b/tests/compiler/continue.debug.wat @@ -10,15 +10,12 @@ (export "memory" (memory $0)) (func $continue/testInherit (type $i32_=>_none) (param $b i32) (local $i i32) - (local $2 i32) i32.const 0 local.set $i loop $for-loop|0 local.get $i i32.const 10 i32.lt_s - local.set $2 - local.get $2 if block $for-continue|0 local.get $b diff --git a/tests/compiler/do.debug.wat b/tests/compiler/do.debug.wat index 6047eee469..816865a2b0 100644 --- a/tests/compiler/do.debug.wat +++ b/tests/compiler/do.debug.wat @@ -1560,15 +1560,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1629,17 +1627,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1651,22 +1647,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/do.release.wat b/tests/compiler/do.release.wat index bfc0b3d03f..08801f3ccf 100644 --- a/tests/compiler/do.release.wat +++ b/tests/compiler/do.release.wat @@ -1265,14 +1265,14 @@ end i32.const 10 local.set $0 - loop $do-loop|01 + loop $do-loop|00 local.get $0 local.tee $1 i32.const 1 i32.sub local.set $0 local.get $1 - br_if $do-loop|01 + br_if $do-loop|00 end local.get $0 i32.const -1 @@ -1289,7 +1289,7 @@ local.set $0 i32.const 0 local.set $1 - loop $do-loop|03 + loop $do-loop|01 local.get $0 i32.const 1 i32.sub @@ -1330,7 +1330,7 @@ unreachable end local.get $0 - br_if $do-loop|03 + br_if $do-loop|01 end local.get $0 if @@ -1365,14 +1365,14 @@ end i32.const 0 local.set $0 - loop $do-loop|05 + loop $do-loop|02 local.get $0 i32.const 1 i32.add local.tee $0 i32.const 10 i32.ne - br_if $do-loop|05 + br_if $do-loop|02 end local.get $0 i32.const 10 @@ -1387,14 +1387,14 @@ end i32.const 0 local.set $0 - loop $do-loop|07 + loop $do-loop|03 local.get $0 i32.const 1 i32.add local.tee $0 i32.const 10 i32.ne - br_if $do-loop|07 + br_if $do-loop|03 end local.get $0 i32.const 10 @@ -1409,7 +1409,7 @@ end i32.const 0 local.set $0 - loop $do-loop|015 + loop $do-loop|09 local.get $0 i32.const 1 i32.add @@ -1419,7 +1419,7 @@ i32.const 0 local.get $0 select - br_if $do-loop|015 + br_if $do-loop|09 end local.get $0 i32.const 10 @@ -1436,7 +1436,7 @@ local.set $0 i32.const 0 local.set $1 - loop $do-loop|017 + loop $do-loop|011 local.get $0 i32.const 1 i32.add @@ -1444,7 +1444,7 @@ i32.const 10 i32.ne if - loop $do-loop|120 + loop $do-loop|113 local.get $1 i32.const 1 i32.add @@ -1454,10 +1454,10 @@ i32.const 0 local.get $1 select - br_if $do-loop|120 + br_if $do-loop|113 end local.get $0 - br_if $do-loop|017 + br_if $do-loop|011 end end local.get $0 diff --git a/tests/compiler/duplicate-fields.debug.wat b/tests/compiler/duplicate-fields.debug.wat index 44a6db464e..75b3727caf 100644 --- a/tests/compiler/duplicate-fields.debug.wat +++ b/tests/compiler/duplicate-fields.debug.wat @@ -1159,15 +1159,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1228,17 +1226,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1250,22 +1246,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/empty-exportruntime.debug.wat b/tests/compiler/empty-exportruntime.debug.wat index b908c8b6ac..1cf98d7848 100644 --- a/tests/compiler/empty-exportruntime.debug.wat +++ b/tests/compiler/empty-exportruntime.debug.wat @@ -1158,15 +1158,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1227,17 +1225,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1249,22 +1245,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/empty-new.debug.wat b/tests/compiler/empty-new.debug.wat index 99598253a7..286b853732 100644 --- a/tests/compiler/empty-new.debug.wat +++ b/tests/compiler/empty-new.debug.wat @@ -1151,15 +1151,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1220,17 +1218,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1242,22 +1238,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/exportstar-rereexport.debug.wat b/tests/compiler/exportstar-rereexport.debug.wat index 8899871c58..000a6b0c9a 100644 --- a/tests/compiler/exportstar-rereexport.debug.wat +++ b/tests/compiler/exportstar-rereexport.debug.wat @@ -1188,15 +1188,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1257,17 +1255,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1279,22 +1275,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/extends-baseaggregate.debug.wat b/tests/compiler/extends-baseaggregate.debug.wat index c777e9ceae..b2094bf570 100644 --- a/tests/compiler/extends-baseaggregate.debug.wat +++ b/tests/compiler/extends-baseaggregate.debug.wat @@ -1161,15 +1161,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1230,17 +1228,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1252,22 +1248,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/extends-recursive.debug.wat b/tests/compiler/extends-recursive.debug.wat index d5ff349024..0445714d05 100644 --- a/tests/compiler/extends-recursive.debug.wat +++ b/tests/compiler/extends-recursive.debug.wat @@ -1151,15 +1151,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1220,17 +1218,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1242,22 +1238,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/field-initialization.debug.wat b/tests/compiler/field-initialization.debug.wat index 513158443c..4ed7b30af4 100644 --- a/tests/compiler/field-initialization.debug.wat +++ b/tests/compiler/field-initialization.debug.wat @@ -1162,15 +1162,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1231,17 +1229,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1253,22 +1249,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/field.debug.wat b/tests/compiler/field.debug.wat index 89583d6234..ee637a902b 100644 --- a/tests/compiler/field.debug.wat +++ b/tests/compiler/field.debug.wat @@ -1153,15 +1153,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1222,17 +1220,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1244,22 +1240,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/for.debug.wat b/tests/compiler/for.debug.wat index 65466e0a19..a6e24d9e6d 100644 --- a/tests/compiler/for.debug.wat +++ b/tests/compiler/for.debug.wat @@ -45,15 +45,12 @@ (start $~start) (func $for/testInitExpression (type $none_=>_none) (local $i i32) - (local $1 i32) i32.const 0 local.set $i loop $for-loop|0 local.get $i i32.const 10 i32.lt_s - local.set $1 - local.get $1 if local.get $i i32.const 1 @@ -79,15 +76,12 @@ ) (func $for/testInitStatement (type $none_=>_none) (local $j i32) - (local $1 i32) i32.const 0 local.set $j loop $for-loop|0 local.get $j i32.const 10 i32.lt_s - local.set $1 - local.get $1 if local.get $j i32.const 1 @@ -113,15 +107,12 @@ ) (func $for/testEmpty (type $none_=>_none) (local $i i32) - (local $1 i32) i32.const 10 local.set $i loop $for-loop|0 local.get $i i32.const 0 i32.gt_s - local.set $1 - local.get $1 if nop local.get $i @@ -148,14 +139,11 @@ ) (func $for/testConditionOmitted (type $none_=>_none) (local $i i32) - (local $1 i32) i32.const 0 local.set $i block $for-break0 loop $for-loop|0 i32.const 1 - local.set $1 - local.get $1 if local.get $i i32.const 10 @@ -188,14 +176,11 @@ ) (func $for/testAllOmitted (type $none_=>_none) (local $i i32) - (local $1 i32) i32.const 10 local.set $i block $for-break0 loop $for-loop|0 i32.const 1 - local.set $1 - local.get $1 if local.get $i i32.const 1 @@ -227,14 +212,11 @@ ) (func $for/testAlwaysTrue (type $none_=>_none) (local $i i32) - (local $1 i32) i32.const 0 local.set $i block $for-break0 loop $for-loop|0 i32.const 1 - local.set $1 - local.get $1 if local.get $i i32.const 1 @@ -272,15 +254,12 @@ ) (func $for/testAlwaysContinues (type $none_=>_none) (local $k i32) - (local $1 i32) i32.const 0 local.set $k loop $for-loop|0 local.get $k i32.const 10 i32.lt_s - local.set $1 - local.get $1 if block $for-continue|0 br $for-continue|0 @@ -309,19 +288,14 @@ ) (func $for/testAlwaysBreaks (type $none_=>_none) (local $k i32) - (local $1 i32) i32.const 0 local.set $k block $for-break0 - loop $for-loop|0 - local.get $k - i32.const 10 - i32.lt_s - local.set $1 - local.get $1 - if - br $for-break0 - end + local.get $k + i32.const 10 + i32.lt_s + if + br $for-break0 end end local.get $k @@ -341,20 +315,15 @@ ) (func $for/testAlwaysReturns (type $none_=>_none) (local $k i32) - (local $1 i32) i32.const 0 local.set $k - loop $for-loop|0 - local.get $k - i32.const 10 - i32.lt_s - local.set $1 - local.get $1 - if - i32.const 1 - global.set $for/ran - return - end + local.get $k + i32.const 10 + i32.lt_s + if + i32.const 1 + global.set $for/ran + return end i32.const 0 i32.eqz @@ -371,8 +340,6 @@ (local $i i32) (local $j i32) (local $k i32) - (local $3 i32) - (local $4 i32) i32.const 0 local.set $i i32.const 0 @@ -383,8 +350,6 @@ local.get $i i32.const 10 i32.lt_s - local.set $3 - local.get $3 if block $for-continue|0 local.get $i @@ -399,8 +364,6 @@ local.get $j i32.const 10 i32.lt_s - local.set $4 - local.get $4 if block $for-continue|1 local.get $i @@ -1578,15 +1541,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1647,17 +1608,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1669,22 +1628,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -2610,7 +2567,6 @@ (func $for/testRef (type $none_=>_none) (local $i i32) (local $ref i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2626,10 +2582,8 @@ call $for/Ref#constructor local.tee $ref i32.store $0 - loop $for-loop|1 + loop $for-loop|0 local.get $ref - local.set $2 - local.get $2 if local.get $i i32.const 1 @@ -2647,7 +2601,7 @@ local.tee $ref i32.store $0 end - br $for-loop|1 + br $for-loop|0 end end local.get $i @@ -2687,7 +2641,6 @@ (func $for/testRefAutorelease (type $none_=>_none) (local $i i32) (local $ref i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2710,8 +2663,6 @@ block $for-break0 loop $for-loop|0 call $for/getRef - local.set $2 - local.get $2 if local.get $i i32.const 1 diff --git a/tests/compiler/for.release.wat b/tests/compiler/for.release.wat index 92d9b55f6c..96ba6be1ba 100644 --- a/tests/compiler/for.release.wat +++ b/tests/compiler/for.release.wat @@ -1255,7 +1255,7 @@ end i32.const 0 local.set $0 - loop $for-loop|01 + loop $for-loop|00 local.get $0 i32.const 10 i32.lt_s @@ -1264,7 +1264,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|01 + br $for-loop|00 end end local.get $0 @@ -1280,7 +1280,7 @@ end i32.const 10 local.set $0 - loop $for-loop|04 + loop $for-loop|02 local.get $0 i32.const 0 i32.gt_s @@ -1289,7 +1289,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|04 + br $for-loop|02 end end local.get $0 @@ -1303,7 +1303,7 @@ end i32.const 0 local.set $0 - loop $for-loop|07 + loop $for-loop|04 local.get $0 i32.const 10 i32.ne @@ -1312,7 +1312,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|07 + br $for-loop|04 end end local.get $0 @@ -1328,12 +1328,12 @@ end i32.const 10 local.set $0 - loop $for-loop|010 + loop $for-loop|07 local.get $0 i32.const 1 i32.sub local.tee $0 - br_if $for-loop|010 + br_if $for-loop|07 end local.get $0 if @@ -1346,14 +1346,14 @@ end i32.const 0 local.set $0 - loop $for-loop|013 + loop $for-loop|010 local.get $0 i32.const 1 i32.add local.tee $0 i32.const 10 i32.ne - br_if $for-loop|013 + br_if $for-loop|010 end local.get $0 i32.const 10 @@ -1368,7 +1368,7 @@ end i32.const 0 local.set $0 - loop $for-loop|016 + loop $for-loop|012 local.get $0 i32.const 10 i32.lt_s @@ -1377,7 +1377,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|016 + br $for-loop|012 end end local.get $0 @@ -1393,7 +1393,7 @@ end i32.const 0 local.set $0 - loop $for-loop|025 + loop $for-loop|017 local.get $0 i32.const 10 i32.lt_s @@ -1430,7 +1430,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|025 + br $for-loop|017 end end local.get $0 @@ -1517,7 +1517,7 @@ call $for/Ref#constructor local.tee $0 i32.store $0 - loop $for-loop|17 + loop $for-loop|06 local.get $0 if local.get $1 @@ -1535,7 +1535,7 @@ local.tee $0 i32.store $0 end - br $for-loop|17 + br $for-loop|06 end end local.get $1 diff --git a/tests/compiler/function-call.debug.wat b/tests/compiler/function-call.debug.wat index ee36dc3e86..4a2050e7cf 100644 --- a/tests/compiler/function-call.debug.wat +++ b/tests/compiler/function-call.debug.wat @@ -1186,15 +1186,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1255,17 +1253,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1277,22 +1273,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/function-expression.debug.wat b/tests/compiler/function-expression.debug.wat index c8cecb1042..7bae587bba 100644 --- a/tests/compiler/function-expression.debug.wat +++ b/tests/compiler/function-expression.debug.wat @@ -1339,15 +1339,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1408,17 +1406,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1430,22 +1426,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/getter-call.debug.wat b/tests/compiler/getter-call.debug.wat index fd9b1cc1b0..0f506aec91 100644 --- a/tests/compiler/getter-call.debug.wat +++ b/tests/compiler/getter-call.debug.wat @@ -1154,15 +1154,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1223,17 +1221,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1245,22 +1241,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/heap.debug.wat b/tests/compiler/heap.debug.wat index 0eefb9e0ff..9f8502d719 100644 --- a/tests/compiler/heap.debug.wat +++ b/tests/compiler/heap.debug.wat @@ -805,15 +805,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -874,17 +872,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -896,22 +892,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/infer-array.debug.wat b/tests/compiler/infer-array.debug.wat index a4199c6275..d1ea3dd884 100644 --- a/tests/compiler/infer-array.debug.wat +++ b/tests/compiler/infer-array.debug.wat @@ -1170,15 +1170,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1239,17 +1237,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1261,22 +1257,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/infer-generic.debug.wat b/tests/compiler/infer-generic.debug.wat index 448c3fded6..7c73b2ef44 100644 --- a/tests/compiler/infer-generic.debug.wat +++ b/tests/compiler/infer-generic.debug.wat @@ -85,7 +85,6 @@ (local $len i32) (local $6 i32) (local $7 i32) - (local $8 i32) local.get $initialValue local.set $acc i32.const 0 @@ -105,8 +104,6 @@ i32.lt_s select i32.lt_s - local.set $8 - local.get $8 if local.get $acc local.get $this @@ -1251,15 +1248,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1320,17 +1315,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1342,22 +1335,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/infer-type.debug.wat b/tests/compiler/infer-type.debug.wat index 7aa1b10004..a2a6bd5450 100644 --- a/tests/compiler/infer-type.debug.wat +++ b/tests/compiler/infer-type.debug.wat @@ -56,7 +56,6 @@ (func $start:infer-type (type $none_=>_none) (local $a i32) (local $b i32) - (local $2 i32) global.get $infer-type/i drop global.get $infer-type/I @@ -88,8 +87,6 @@ local.get $a local.get $b i32.lt_s - local.set $2 - local.get $2 if local.get $a i32.const 1 diff --git a/tests/compiler/inlining.debug.wat b/tests/compiler/inlining.debug.wat index a6a1678a73..d83b866120 100644 --- a/tests/compiler/inlining.debug.wat +++ b/tests/compiler/inlining.debug.wat @@ -1386,15 +1386,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1455,17 +1453,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1477,22 +1473,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/instanceof.debug.wat b/tests/compiler/instanceof.debug.wat index 09f4810a99..8dbcb638af 100644 --- a/tests/compiler/instanceof.debug.wat +++ b/tests/compiler/instanceof.debug.wat @@ -1171,15 +1171,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1240,17 +1238,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1262,22 +1258,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/issues/1095.debug.wat b/tests/compiler/issues/1095.debug.wat index be47bdc384..5eb2b54ee1 100644 --- a/tests/compiler/issues/1095.debug.wat +++ b/tests/compiler/issues/1095.debug.wat @@ -1154,15 +1154,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1223,17 +1221,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1245,22 +1241,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/issues/1225.debug.wat b/tests/compiler/issues/1225.debug.wat index c3d5f8b0f4..f3f8da7e7f 100644 --- a/tests/compiler/issues/1225.debug.wat +++ b/tests/compiler/issues/1225.debug.wat @@ -1169,15 +1169,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1238,17 +1236,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1260,22 +1256,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/issues/1699.debug.wat b/tests/compiler/issues/1699.debug.wat index 938ddc6c90..95e488f3a2 100644 --- a/tests/compiler/issues/1699.debug.wat +++ b/tests/compiler/issues/1699.debug.wat @@ -1156,15 +1156,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1225,17 +1223,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1247,22 +1243,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -2659,9 +2653,8 @@ (local $1 i32) (local $2 i32) (local $n i32) - (local $4 i32) (local $testinstance i32) - (local $6 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -2687,20 +2680,20 @@ local.tee $2 i32.const 0 call $issues/1699/MultiAssignmentTest#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store $0 offset=8 - local.get $6 + local.get $5 call $~lib/array/Array#__set local.get $1 local.get $2 call $~lib/array/Array#__get - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store $0 offset=4 - local.get $6 + local.get $5 call $~lib/array/Array#__set i32.const 0 local.set $n @@ -2709,8 +2702,6 @@ local.get $testinstances call $~lib/array/Array#get:length i32.lt_s - local.set $4 - local.get $4 if global.get $~lib/memory/__stack_pointer i32.const 0 diff --git a/tests/compiler/issues/2166.debug.wat b/tests/compiler/issues/2166.debug.wat index 38945efff6..5f33137e75 100644 --- a/tests/compiler/issues/2166.debug.wat +++ b/tests/compiler/issues/2166.debug.wat @@ -1158,15 +1158,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1227,17 +1225,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1249,22 +1245,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/issues/2322/index.debug.wat b/tests/compiler/issues/2322/index.debug.wat index 7b77aa6404..2d4e096074 100644 --- a/tests/compiler/issues/2322/index.debug.wat +++ b/tests/compiler/issues/2322/index.debug.wat @@ -1152,15 +1152,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1221,17 +1219,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1243,22 +1239,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/logical.debug.wat b/tests/compiler/logical.debug.wat index 0cb803bd9e..0f58eef3a6 100644 --- a/tests/compiler/logical.debug.wat +++ b/tests/compiler/logical.debug.wat @@ -1177,15 +1177,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1246,17 +1244,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1268,22 +1264,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/loop-flow.debug.wat b/tests/compiler/loop-flow.debug.wat index a449df0657..e5aa933eaf 100644 --- a/tests/compiler/loop-flow.debug.wat +++ b/tests/compiler/loop-flow.debug.wat @@ -67,24 +67,16 @@ unreachable ) (func $loop-flow/forReturn (type $none_=>_i32) (result i32) - (local $0 i32) - loop $for-loop|0 + i32.const 1 + if i32.const 1 - local.set $0 - local.get $0 - if - i32.const 1 - return - end + return end unreachable ) (func $loop-flow/forAny (type $i32_=>_i32) (param $a i32) (result i32) - (local $1 i32) loop $for-loop|0 i32.const 1 - local.set $1 - local.get $1 if block $for-continue|0 local.get $a @@ -256,28 +248,20 @@ unreachable ) (func $loop-flow/forThrow (type $none_=>_i32) (result i32) - (local $0 i32) - loop $for-loop|0 - i32.const 1 - local.set $0 - local.get $0 - if - i32.const 80 - i32.const 32 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i32.const 1 + if + i32.const 80 + i32.const 32 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable end unreachable ) (func $loop-flow/forContinue (type $none_=>_i32) (result i32) - (local $0 i32) loop $for-loop|0 i32.const 1 - local.set $0 - local.get $0 if block $for-continue|0 br $for-continue|0 diff --git a/tests/compiler/loop-flow.release.wat b/tests/compiler/loop-flow.release.wat index 9dfabd1057..e778c24583 100644 --- a/tests/compiler/loop-flow.release.wat +++ b/tests/compiler/loop-flow.release.wat @@ -50,13 +50,11 @@ i32.const 1 ) (func $loop-flow/forAny (type $i32_=>_i32) (param $0 i32) (result i32) - loop $for-loop|0 (result i32) + loop $for-loop|0 local.get $0 i32.const 1 - i32.eq - if (result i32) - i32.const 1 - else + i32.ne + if local.get $0 i32.const 2 i32.eq @@ -71,6 +69,7 @@ br $for-loop|0 end end + i32.const 1 ) (func $loop-flow/doAny (type $i32_=>_i32) (param $0 i32) (result i32) loop $do-loop|0 (result i32) diff --git a/tests/compiler/managed-cast.debug.wat b/tests/compiler/managed-cast.debug.wat index 3e795e72ed..86d1e68ec1 100644 --- a/tests/compiler/managed-cast.debug.wat +++ b/tests/compiler/managed-cast.debug.wat @@ -1154,15 +1154,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1223,17 +1221,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1245,22 +1241,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/new.debug.wat b/tests/compiler/new.debug.wat index 0a07a67364..ca83521778 100644 --- a/tests/compiler/new.debug.wat +++ b/tests/compiler/new.debug.wat @@ -1157,15 +1157,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1226,17 +1224,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1248,22 +1244,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/object-literal.debug.wat b/tests/compiler/object-literal.debug.wat index ff4f0a982f..0069c7e19d 100644 --- a/tests/compiler/object-literal.debug.wat +++ b/tests/compiler/object-literal.debug.wat @@ -1248,15 +1248,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1317,17 +1315,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1339,22 +1335,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/optional-typeparameters.debug.wat b/tests/compiler/optional-typeparameters.debug.wat index 5f69971f9f..27c61f78aa 100644 --- a/tests/compiler/optional-typeparameters.debug.wat +++ b/tests/compiler/optional-typeparameters.debug.wat @@ -1162,15 +1162,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1231,17 +1229,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1253,22 +1249,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/reexport.debug.wat b/tests/compiler/reexport.debug.wat index e48db570f6..576f296b93 100644 --- a/tests/compiler/reexport.debug.wat +++ b/tests/compiler/reexport.debug.wat @@ -1195,15 +1195,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1264,17 +1262,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1286,22 +1282,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/rereexport.debug.wat b/tests/compiler/rereexport.debug.wat index 7942c8a288..8e77fbb040 100644 --- a/tests/compiler/rereexport.debug.wat +++ b/tests/compiler/rereexport.debug.wat @@ -1188,15 +1188,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1257,17 +1255,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1279,22 +1275,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/resolve-access.debug.wat b/tests/compiler/resolve-access.debug.wat index baf24b01b1..39dcf401ab 100644 --- a/tests/compiler/resolve-access.debug.wat +++ b/tests/compiler/resolve-access.debug.wat @@ -1172,15 +1172,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1241,17 +1239,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1263,22 +1259,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/resolve-binary.debug.wat b/tests/compiler/resolve-binary.debug.wat index c1905e291e..e07528ac1a 100644 --- a/tests/compiler/resolve-binary.debug.wat +++ b/tests/compiler/resolve-binary.debug.wat @@ -1431,15 +1431,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1500,17 +1498,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1522,22 +1518,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -4338,26 +4332,24 @@ (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $length i32) (param $k i32) (result i32) (local $kk i32) (local $i i32) - (local $5 i32) (local $ptr i32) (local $offset i32) - (local $i|8 i32) - (local $9 i32) - (local $buffer|10 i32) - (local $k|11 i32) + (local $i|7 i32) + (local $buffer|8 i32) + (local $k|9 i32) (local $sign i32) (local $decimals i32) - (local $buffer|14 i32) + (local $buffer|12 i32) (local $num i32) - (local $offset|16 i32) + (local $offset|14 i32) (local $len i32) - (local $buffer|18 i32) - (local $k|19 i32) - (local $sign|20 i32) - (local $decimals|21 i32) - (local $buffer|22 i32) - (local $num|23 i32) - (local $offset|24 i32) + (local $buffer|16 i32) + (local $k|17 i32) + (local $sign|18 i32) + (local $decimals|19 i32) + (local $buffer|20 i32) + (local $num|21 i32) + (local $offset|22 i32) local.get $k i32.eqz if @@ -4398,8 +4390,6 @@ local.get $i local.get $kk i32.lt_s - local.set $5 - local.get $5 if local.get $buffer local.get $i @@ -4503,25 +4493,23 @@ i32.or i32.store $0 i32.const 2 - local.set $i|8 + local.set $i|7 loop $for-loop|1 - local.get $i|8 + local.get $i|7 local.get $offset i32.lt_s - local.set $9 - local.get $9 if local.get $buffer - local.get $i|8 + local.get $i|7 i32.const 1 i32.shl i32.add i32.const 48 i32.store16 $0 - local.get $i|8 + local.get $i|7 i32.const 1 i32.add - local.set $i|8 + local.set $i|7 br $for-loop|1 end end @@ -4540,42 +4528,42 @@ local.get $buffer i32.const 4 i32.add - local.set $buffer|10 + local.set $buffer|8 local.get $kk i32.const 1 i32.sub - local.set $k|11 - local.get $k|11 + local.set $k|9 + local.get $k|9 i32.const 0 i32.lt_s local.set $sign local.get $sign if i32.const 0 - local.get $k|11 + local.get $k|9 i32.sub - local.set $k|11 + local.set $k|9 end - local.get $k|11 + local.get $k|9 call $~lib/util/number/decimalCount32 i32.const 1 i32.add local.set $decimals - local.get $buffer|10 - local.set $buffer|14 - local.get $k|11 + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 local.set $num local.get $decimals - local.set $offset|16 + local.set $offset|14 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|14 + local.get $buffer|12 local.get $num - local.get $offset|16 + local.get $offset|14 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|10 + local.get $buffer|8 i32.const 45 i32.const 43 local.get $sign @@ -4616,48 +4604,48 @@ i32.add i32.const 4 i32.add - local.set $buffer|18 + local.set $buffer|16 local.get $kk i32.const 1 i32.sub - local.set $k|19 - local.get $k|19 + local.set $k|17 + local.get $k|17 i32.const 0 i32.lt_s - local.set $sign|20 - local.get $sign|20 + local.set $sign|18 + local.get $sign|18 if i32.const 0 - local.get $k|19 + local.get $k|17 i32.sub - local.set $k|19 + local.set $k|17 end - local.get $k|19 + local.get $k|17 call $~lib/util/number/decimalCount32 i32.const 1 i32.add - local.set $decimals|21 - local.get $buffer|18 - local.set $buffer|22 - local.get $k|19 - local.set $num|23 - local.get $decimals|21 - local.set $offset|24 + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|22 - local.get $num|23 - local.get $offset|24 + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|18 + local.get $buffer|16 i32.const 45 i32.const 43 - local.get $sign|20 + local.get $sign|18 select i32.store16 $0 - local.get $decimals|21 + local.get $decimals|19 i32.add local.set $length local.get $length diff --git a/tests/compiler/resolve-elementaccess.debug.wat b/tests/compiler/resolve-elementaccess.debug.wat index 9897980dcb..2233d314a2 100644 --- a/tests/compiler/resolve-elementaccess.debug.wat +++ b/tests/compiler/resolve-elementaccess.debug.wat @@ -1195,15 +1195,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1264,17 +1262,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1286,22 +1282,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -3065,26 +3059,24 @@ (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $length i32) (param $k i32) (result i32) (local $kk i32) (local $i i32) - (local $5 i32) (local $ptr i32) (local $offset i32) - (local $i|8 i32) - (local $9 i32) - (local $buffer|10 i32) - (local $k|11 i32) + (local $i|7 i32) + (local $buffer|8 i32) + (local $k|9 i32) (local $sign i32) (local $decimals i32) - (local $buffer|14 i32) + (local $buffer|12 i32) (local $num i32) - (local $offset|16 i32) + (local $offset|14 i32) (local $len i32) - (local $buffer|18 i32) - (local $k|19 i32) - (local $sign|20 i32) - (local $decimals|21 i32) - (local $buffer|22 i32) - (local $num|23 i32) - (local $offset|24 i32) + (local $buffer|16 i32) + (local $k|17 i32) + (local $sign|18 i32) + (local $decimals|19 i32) + (local $buffer|20 i32) + (local $num|21 i32) + (local $offset|22 i32) local.get $k i32.eqz if @@ -3125,8 +3117,6 @@ local.get $i local.get $kk i32.lt_s - local.set $5 - local.get $5 if local.get $buffer local.get $i @@ -3230,25 +3220,23 @@ i32.or i32.store $0 i32.const 2 - local.set $i|8 + local.set $i|7 loop $for-loop|1 - local.get $i|8 + local.get $i|7 local.get $offset i32.lt_s - local.set $9 - local.get $9 if local.get $buffer - local.get $i|8 + local.get $i|7 i32.const 1 i32.shl i32.add i32.const 48 i32.store16 $0 - local.get $i|8 + local.get $i|7 i32.const 1 i32.add - local.set $i|8 + local.set $i|7 br $for-loop|1 end end @@ -3267,42 +3255,42 @@ local.get $buffer i32.const 4 i32.add - local.set $buffer|10 + local.set $buffer|8 local.get $kk i32.const 1 i32.sub - local.set $k|11 - local.get $k|11 + local.set $k|9 + local.get $k|9 i32.const 0 i32.lt_s local.set $sign local.get $sign if i32.const 0 - local.get $k|11 + local.get $k|9 i32.sub - local.set $k|11 + local.set $k|9 end - local.get $k|11 + local.get $k|9 call $~lib/util/number/decimalCount32 i32.const 1 i32.add local.set $decimals - local.get $buffer|10 - local.set $buffer|14 - local.get $k|11 + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 local.set $num local.get $decimals - local.set $offset|16 + local.set $offset|14 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|14 + local.get $buffer|12 local.get $num - local.get $offset|16 + local.get $offset|14 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|10 + local.get $buffer|8 i32.const 45 i32.const 43 local.get $sign @@ -3343,48 +3331,48 @@ i32.add i32.const 4 i32.add - local.set $buffer|18 + local.set $buffer|16 local.get $kk i32.const 1 i32.sub - local.set $k|19 - local.get $k|19 + local.set $k|17 + local.get $k|17 i32.const 0 i32.lt_s - local.set $sign|20 - local.get $sign|20 + local.set $sign|18 + local.get $sign|18 if i32.const 0 - local.get $k|19 + local.get $k|17 i32.sub - local.set $k|19 + local.set $k|17 end - local.get $k|19 + local.get $k|17 call $~lib/util/number/decimalCount32 i32.const 1 i32.add - local.set $decimals|21 - local.get $buffer|18 - local.set $buffer|22 - local.get $k|19 - local.set $num|23 - local.get $decimals|21 - local.set $offset|24 + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|22 - local.get $num|23 - local.get $offset|24 + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|18 + local.get $buffer|16 i32.const 45 i32.const 43 - local.get $sign|20 + local.get $sign|18 select i32.store16 $0 - local.get $decimals|21 + local.get $decimals|19 i32.add local.set $length local.get $length diff --git a/tests/compiler/resolve-function-expression.debug.wat b/tests/compiler/resolve-function-expression.debug.wat index 8c37003bce..3be5b496f0 100644 --- a/tests/compiler/resolve-function-expression.debug.wat +++ b/tests/compiler/resolve-function-expression.debug.wat @@ -1238,15 +1238,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1307,17 +1305,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1329,22 +1325,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/resolve-new.debug.wat b/tests/compiler/resolve-new.debug.wat index a3d3972594..a38a6a6afe 100644 --- a/tests/compiler/resolve-new.debug.wat +++ b/tests/compiler/resolve-new.debug.wat @@ -1152,15 +1152,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1221,17 +1219,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1243,22 +1239,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/resolve-propertyaccess.debug.wat b/tests/compiler/resolve-propertyaccess.debug.wat index c4704956f8..7a9f58e542 100644 --- a/tests/compiler/resolve-propertyaccess.debug.wat +++ b/tests/compiler/resolve-propertyaccess.debug.wat @@ -1239,15 +1239,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1308,17 +1306,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1330,22 +1326,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/resolve-ternary.debug.wat b/tests/compiler/resolve-ternary.debug.wat index e998259e90..1b20f6ae07 100644 --- a/tests/compiler/resolve-ternary.debug.wat +++ b/tests/compiler/resolve-ternary.debug.wat @@ -1246,15 +1246,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1315,17 +1313,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1337,22 +1333,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -3292,26 +3286,24 @@ (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $length i32) (param $k i32) (result i32) (local $kk i32) (local $i i32) - (local $5 i32) (local $ptr i32) (local $offset i32) - (local $i|8 i32) - (local $9 i32) - (local $buffer|10 i32) - (local $k|11 i32) + (local $i|7 i32) + (local $buffer|8 i32) + (local $k|9 i32) (local $sign i32) (local $decimals i32) - (local $buffer|14 i32) + (local $buffer|12 i32) (local $num i32) - (local $offset|16 i32) + (local $offset|14 i32) (local $len i32) - (local $buffer|18 i32) - (local $k|19 i32) - (local $sign|20 i32) - (local $decimals|21 i32) - (local $buffer|22 i32) - (local $num|23 i32) - (local $offset|24 i32) + (local $buffer|16 i32) + (local $k|17 i32) + (local $sign|18 i32) + (local $decimals|19 i32) + (local $buffer|20 i32) + (local $num|21 i32) + (local $offset|22 i32) local.get $k i32.eqz if @@ -3352,8 +3344,6 @@ local.get $i local.get $kk i32.lt_s - local.set $5 - local.get $5 if local.get $buffer local.get $i @@ -3457,25 +3447,23 @@ i32.or i32.store $0 i32.const 2 - local.set $i|8 + local.set $i|7 loop $for-loop|1 - local.get $i|8 + local.get $i|7 local.get $offset i32.lt_s - local.set $9 - local.get $9 if local.get $buffer - local.get $i|8 + local.get $i|7 i32.const 1 i32.shl i32.add i32.const 48 i32.store16 $0 - local.get $i|8 + local.get $i|7 i32.const 1 i32.add - local.set $i|8 + local.set $i|7 br $for-loop|1 end end @@ -3494,42 +3482,42 @@ local.get $buffer i32.const 4 i32.add - local.set $buffer|10 + local.set $buffer|8 local.get $kk i32.const 1 i32.sub - local.set $k|11 - local.get $k|11 + local.set $k|9 + local.get $k|9 i32.const 0 i32.lt_s local.set $sign local.get $sign if i32.const 0 - local.get $k|11 + local.get $k|9 i32.sub - local.set $k|11 + local.set $k|9 end - local.get $k|11 + local.get $k|9 call $~lib/util/number/decimalCount32 i32.const 1 i32.add local.set $decimals - local.get $buffer|10 - local.set $buffer|14 - local.get $k|11 + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 local.set $num local.get $decimals - local.set $offset|16 + local.set $offset|14 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|14 + local.get $buffer|12 local.get $num - local.get $offset|16 + local.get $offset|14 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|10 + local.get $buffer|8 i32.const 45 i32.const 43 local.get $sign @@ -3570,48 +3558,48 @@ i32.add i32.const 4 i32.add - local.set $buffer|18 + local.set $buffer|16 local.get $kk i32.const 1 i32.sub - local.set $k|19 - local.get $k|19 + local.set $k|17 + local.get $k|17 i32.const 0 i32.lt_s - local.set $sign|20 - local.get $sign|20 + local.set $sign|18 + local.get $sign|18 if i32.const 0 - local.get $k|19 + local.get $k|17 i32.sub - local.set $k|19 + local.set $k|17 end - local.get $k|19 + local.get $k|17 call $~lib/util/number/decimalCount32 i32.const 1 i32.add - local.set $decimals|21 - local.get $buffer|18 - local.set $buffer|22 - local.get $k|19 - local.set $num|23 - local.get $decimals|21 - local.set $offset|24 + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|22 - local.get $num|23 - local.get $offset|24 + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|18 + local.get $buffer|16 i32.const 45 i32.const 43 - local.get $sign|20 + local.get $sign|18 select i32.store16 $0 - local.get $decimals|21 + local.get $decimals|19 i32.add local.set $length local.get $length diff --git a/tests/compiler/resolve-unary.debug.wat b/tests/compiler/resolve-unary.debug.wat index c05a928300..f52e2298f7 100644 --- a/tests/compiler/resolve-unary.debug.wat +++ b/tests/compiler/resolve-unary.debug.wat @@ -1239,15 +1239,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1308,17 +1306,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1330,22 +1326,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/retain-i32.debug.wat b/tests/compiler/retain-i32.debug.wat index 5197944d1d..cfff4754ed 100644 --- a/tests/compiler/retain-i32.debug.wat +++ b/tests/compiler/retain-i32.debug.wat @@ -310,7 +310,6 @@ ) (func $start:retain-i32 (type $none_=>_none) (local $i i32) - (local $1 i32) i32.const 0 global.get $~lib/builtins/i8.MAX_VALUE call $retain-i32/test @@ -386,8 +385,6 @@ local.get $i global.get $~lib/builtins/u8.MAX_VALUE i32.le_s - local.set $1 - local.get $1 if i32.const 0 local.get $i diff --git a/tests/compiler/return-unreachable.debug.wat b/tests/compiler/return-unreachable.debug.wat index 6c7189ad27..0ff352aeba 100644 --- a/tests/compiler/return-unreachable.debug.wat +++ b/tests/compiler/return-unreachable.debug.wat @@ -1155,15 +1155,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1224,17 +1222,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1246,22 +1242,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/rt/finalize.debug.wat b/tests/compiler/rt/finalize.debug.wat index b810b98332..89d8d66443 100644 --- a/tests/compiler/rt/finalize.debug.wat +++ b/tests/compiler/rt/finalize.debug.wat @@ -1171,15 +1171,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1240,17 +1238,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1262,22 +1258,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/rt/runtime-incremental-export.debug.wat b/tests/compiler/rt/runtime-incremental-export.debug.wat index b908c8b6ac..1cf98d7848 100644 --- a/tests/compiler/rt/runtime-incremental-export.debug.wat +++ b/tests/compiler/rt/runtime-incremental-export.debug.wat @@ -1158,15 +1158,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1227,17 +1225,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1249,22 +1245,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/rt/runtime-minimal-export.debug.wat b/tests/compiler/rt/runtime-minimal-export.debug.wat index 61516b11bb..5d9092d426 100644 --- a/tests/compiler/rt/runtime-minimal-export.debug.wat +++ b/tests/compiler/rt/runtime-minimal-export.debug.wat @@ -820,15 +820,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -889,17 +887,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -911,22 +907,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/scoped.debug.wat b/tests/compiler/scoped.debug.wat index 982ce351c6..7b5f0c7627 100644 --- a/tests/compiler/scoped.debug.wat +++ b/tests/compiler/scoped.debug.wat @@ -22,19 +22,15 @@ ) (func $start:scoped (type $none_=>_none) (local $anotherStartFunctionLocal i32) - (local $1 i32) (local $aGlobal i32) - (local $3 i32) (local $aConstant i64) - (local $aConstant|5 f32) + (local $aConstant|3 f32) i32.const 0 local.set $anotherStartFunctionLocal loop $for-loop|0 local.get $anotherStartFunctionLocal i32.const 1 i32.lt_s - local.set $1 - local.get $1 if nop local.get $anotherStartFunctionLocal @@ -50,8 +46,6 @@ local.get $aGlobal i32.const 1 i32.lt_s - local.set $3 - local.get $3 if local.get $aGlobal drop @@ -65,7 +59,7 @@ i64.const 5 local.set $aConstant f32.const 10 - local.set $aConstant|5 + local.set $aConstant|3 i32.const 42 call $scoped/fn ) diff --git a/tests/compiler/simd.debug.wat b/tests/compiler/simd.debug.wat index 1a2caf335b..7210d5fda9 100644 --- a/tests/compiler/simd.debug.wat +++ b/tests/compiler/simd.debug.wat @@ -1190,15 +1190,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1259,17 +1257,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1281,22 +1277,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/std/array-literal.debug.wat b/tests/compiler/std/array-literal.debug.wat index 0e7da47fed..92fa3afb98 100644 --- a/tests/compiler/std/array-literal.debug.wat +++ b/tests/compiler/std/array-literal.debug.wat @@ -1244,15 +1244,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1313,17 +1311,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1335,22 +1331,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/std/array.debug.wat b/tests/compiler/std/array.debug.wat index fc37f57c70..e3a14d9cf3 100644 --- a/tests/compiler/std/array.debug.wat +++ b/tests/compiler/std/array.debug.wat @@ -1495,15 +1495,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1564,17 +1562,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1586,22 +1582,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -2838,7 +2832,6 @@ ) (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) (local $i i32) - (local $4 i32) local.get $len i32.eqz if @@ -2867,8 +2860,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if i32.const 0 drop @@ -2909,7 +2900,6 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) local.get $start i32.const 0 i32.lt_s @@ -3001,8 +2991,6 @@ local.get $start local.get $end i32.lt_s - local.set $13 - local.get $13 if local.get $ptr local.get $start @@ -3064,7 +3052,6 @@ ) (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) (local $i i32) - (local $4 i32) local.get $len i32.eqz if @@ -3093,8 +3080,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if i32.const 0 drop @@ -3135,7 +3120,6 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) local.get $start i32.const 0 i32.lt_s @@ -3233,8 +3217,6 @@ local.get $start local.get $end i32.lt_s - local.set $13 - local.get $13 if local.get $ptr local.get $start @@ -3296,11 +3278,10 @@ ) (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) (local $i i32) - (local $4 i32) + (local $4 f32) (local $5 f32) - (local $6 f32) (local $x f64) - (local $x|8 f64) + (local $x|7 f64) local.get $len i32.eqz if @@ -3329,8 +3310,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if block $for-continue|0 i32.const 1 @@ -3338,15 +3317,15 @@ local.get $a local.get $i call $~lib/array/Array#__get - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 f32.ne if (result i32) local.get $b local.get $i call $~lib/array/Array#__get - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 f32.ne else i32.const 0 @@ -3371,8 +3350,8 @@ local.get $i call $~lib/array/Array#__get f64.promote_f32 - local.set $x|8 - local.get $x|8 + local.set $x|7 + local.get $x|7 i64.reinterpret_f64 i64.const 63 i64.shr_u @@ -3899,7 +3878,6 @@ ) (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) (local $i i32) - (local $4 i32) local.get $len i32.eqz if @@ -3928,8 +3906,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if i32.const 0 drop @@ -5020,7 +4996,6 @@ (local $len i32) (local $4 i32) (local $5 i32) - (local $6 i32) i32.const 0 local.set $i local.get $this @@ -5038,8 +5013,6 @@ i32.lt_s select i32.lt_s - local.set $6 - local.get $6 if local.get $this call $~lib/array/Array#get:dataStart @@ -5107,7 +5080,6 @@ ) (func $~lib/array/Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $i i32) - (local $3 i32) local.get $this call $~lib/array/Array#get:length_ i32.const 1 @@ -5117,8 +5089,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $3 - local.get $3 if local.get $this call $~lib/array/Array#get:dataStart @@ -5175,7 +5145,6 @@ (local $len i32) (local $4 i32) (local $5 i32) - (local $6 i32) i32.const 0 local.set $i local.get $this @@ -5193,8 +5162,6 @@ i32.lt_s select i32.lt_s - local.set $6 - local.get $6 if local.get $this call $~lib/array/Array#get:dataStart @@ -5261,7 +5228,6 @@ (local $len i32) (local $4 i32) (local $5 i32) - (local $6 i32) i32.const 0 local.set $i local.get $this @@ -5279,8 +5245,6 @@ i32.lt_s select i32.lt_s - local.set $6 - local.get $6 if local.get $this call $~lib/array/Array#get:dataStart @@ -5347,7 +5311,6 @@ (local $len i32) (local $4 i32) (local $5 i32) - (local $6 i32) i32.const 0 local.set $i local.get $this @@ -5365,8 +5328,6 @@ i32.lt_s select i32.lt_s - local.set $6 - local.get $6 if local.get $this call $~lib/array/Array#get:dataStart @@ -5417,13 +5378,9 @@ ) (func $start:std/array~anonymous|24 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $array i32) (local $i i32) - (local $4 i32) + (local $i|4 i32) (local $i|5 i32) - (local $6 i32) - (local $i|7 i32) - (local $8 i32) - (local $i|9 i32) - (local $10 i32) + (local $i|6 i32) local.get $index i32.const 0 i32.eq @@ -5434,8 +5391,6 @@ local.get $i i32.const 4 i32.lt_s - local.set $4 - local.get $4 if local.get $array call $~lib/array/Array#pop @@ -5448,65 +5403,59 @@ end end i32.const 0 - local.set $i|5 + local.set $i|4 loop $for-loop|1 - local.get $i|5 + local.get $i|4 i32.const 100 i32.lt_s - local.set $6 - local.get $6 if local.get $array i32.const 100 - local.get $i|5 + local.get $i|4 i32.add call $~lib/array/Array#push drop - local.get $i|5 + local.get $i|4 i32.const 1 i32.add - local.set $i|5 + local.set $i|4 br $for-loop|1 end end i32.const 0 - local.set $i|7 + local.set $i|5 loop $for-loop|2 - local.get $i|7 + local.get $i|5 i32.const 100 i32.lt_s - local.set $8 - local.get $8 if local.get $array call $~lib/array/Array#pop drop - local.get $i|7 + local.get $i|5 i32.const 1 i32.add - local.set $i|7 + local.set $i|5 br $for-loop|2 end end i32.const 0 - local.set $i|9 + local.set $i|6 loop $for-loop|3 - local.get $i|9 + local.get $i|6 i32.const 100 i32.lt_s - local.set $10 - local.get $10 if local.get $array - local.get $i|9 + local.get $i|6 i32.const 200 i32.add call $~lib/array/Array#push drop - local.get $i|9 + local.get $i|6 i32.const 1 i32.add - local.set $i|9 + local.set $i|6 br $for-loop|3 end end @@ -6031,7 +5980,6 @@ (local $len i32) (local $6 i32) (local $7 i32) - (local $8 i32) local.get $initialValue local.set $acc i32.const 0 @@ -6051,8 +5999,6 @@ i32.lt_s select i32.lt_s - local.set $8 - local.get $8 if local.get $acc local.get $this @@ -6100,7 +6046,6 @@ (local $len i32) (local $6 i32) (local $7 i32) - (local $8 i32) local.get $initialValue local.set $acc i32.const 0 @@ -6120,8 +6065,6 @@ i32.lt_s select i32.lt_s - local.set $8 - local.get $8 if local.get $acc local.get $this @@ -6188,7 +6131,6 @@ (func $~lib/array/Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) (local $acc i32) (local $i i32) - (local $5 i32) local.get $initialValue local.set $acc local.get $this @@ -6200,8 +6142,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $5 - local.get $5 if local.get $acc local.get $this @@ -6246,7 +6186,6 @@ (func $~lib/array/Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) (local $acc i32) (local $i i32) - (local $5 i32) local.get $initialValue local.set $acc local.get $this @@ -6258,8 +6197,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $5 - local.get $5 if local.get $acc local.get $this @@ -6441,7 +6378,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a f32) (local $b f32) (local $min f32) @@ -6478,8 +6414,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -6830,10 +6764,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a f32) (local $b f32) local.get $m @@ -6852,8 +6783,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -6884,8 +6813,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -6914,8 +6841,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -6987,27 +6912,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -7158,8 +7080,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -7199,13 +7119,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -7246,15 +7166,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -7273,16 +7193,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -7295,7 +7213,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -7309,17 +7227,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -7347,29 +7265,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -7381,10 +7297,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -7438,7 +7354,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a f64) (local $b f64) (local $min f64) @@ -7475,8 +7390,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -7777,10 +7690,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a f64) (local $b f64) local.get $m @@ -7799,8 +7709,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -7831,8 +7739,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -7861,8 +7767,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -7934,27 +7838,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -8105,8 +8006,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -8146,13 +8045,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -8193,15 +8092,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -8220,16 +8119,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -8242,7 +8139,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -8256,17 +8153,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -8294,29 +8191,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -8328,10 +8223,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -8414,11 +8309,10 @@ ) (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) (local $i i32) - (local $4 i32) + (local $4 f64) (local $5 f64) - (local $6 f64) (local $x f64) - (local $x|8 f64) + (local $x|7 f64) local.get $len i32.eqz if @@ -8447,8 +8341,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if block $for-continue|0 i32.const 1 @@ -8456,15 +8348,15 @@ local.get $a local.get $i call $~lib/array/Array#__get - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 f64.ne if (result i32) local.get $b local.get $i call $~lib/array/Array#__get - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 f64.ne else i32.const 0 @@ -8487,8 +8379,8 @@ local.get $b local.get $i call $~lib/array/Array#__get - local.set $x|8 - local.get $x|8 + local.set $x|7 + local.get $x|7 i64.reinterpret_f64 i64.const 63 i64.shr_u @@ -8525,7 +8417,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -8562,8 +8453,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8864,10 +8753,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) local.get $m @@ -8886,8 +8772,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -8918,8 +8802,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -8948,8 +8830,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -9021,27 +8901,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -9192,8 +9069,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -9233,13 +9108,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -9280,15 +9155,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -9307,16 +9182,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -9329,7 +9202,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -9343,17 +9216,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -9381,29 +9254,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -9415,10 +9286,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -9444,7 +9315,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -9481,8 +9351,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -9783,10 +9651,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) local.get $m @@ -9805,8 +9670,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -9837,8 +9700,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -9867,8 +9728,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -9940,27 +9799,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -10111,8 +9967,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -10152,13 +10006,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -10199,15 +10053,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -10226,16 +10080,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -10248,7 +10100,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -10262,17 +10114,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -10300,29 +10152,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -10334,10 +10184,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -10424,7 +10274,6 @@ (func $std/array/isSorted (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) (local $i i32) (local $len i32) - (local $4 i32) i32.const 1 local.set $i local.get $data @@ -10434,8 +10283,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $data local.get $i @@ -10483,7 +10330,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -10528,8 +10374,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -10688,10 +10532,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) global.get $~lib/memory/__stack_pointer @@ -10718,8 +10559,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -10750,8 +10589,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -10780,8 +10617,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if global.get $~lib/memory/__stack_pointer local.get $buffer @@ -10861,27 +10696,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -11067,8 +10899,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -11108,13 +10938,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -11155,15 +10985,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -11182,16 +11012,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -11204,7 +11032,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -11218,17 +11046,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -11256,29 +11084,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -11290,10 +11116,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -11438,7 +11264,6 @@ (func $~lib/util/sort/insertionSort<~lib/array/Array> (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -11483,8 +11308,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -11643,10 +11466,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) global.get $~lib/memory/__stack_pointer @@ -11673,8 +11493,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -11705,8 +11523,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -11735,8 +11551,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if global.get $~lib/memory/__stack_pointer local.get $buffer @@ -11816,27 +11630,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -12022,8 +11833,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -12063,13 +11872,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -12110,15 +11919,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -12137,16 +11946,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -12159,7 +11966,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -12173,17 +11980,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -12211,29 +12018,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -12245,10 +12050,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns<~lib/array/Array> end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -12376,7 +12181,6 @@ (func $~lib/util/sort/insertionSort> (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -12421,8 +12225,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -12581,10 +12383,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) global.get $~lib/memory/__stack_pointer @@ -12611,8 +12410,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -12643,8 +12440,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -12673,8 +12468,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if global.get $~lib/memory/__stack_pointer local.get $buffer @@ -12754,27 +12547,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -12960,8 +12750,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -13001,13 +12789,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -13048,15 +12836,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -13075,16 +12863,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -13097,7 +12883,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -13111,17 +12897,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -13149,29 +12935,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -13183,10 +12967,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns> end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -13223,7 +13007,6 @@ (func $~lib/util/sort/insertionSort<~lib/string/String|null> (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -13268,8 +13051,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -13428,10 +13209,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) global.get $~lib/memory/__stack_pointer @@ -13458,8 +13236,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -13490,8 +13266,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -13520,8 +13294,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if global.get $~lib/memory/__stack_pointer local.get $buffer @@ -13601,27 +13373,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -13807,8 +13576,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -13848,13 +13615,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -13895,15 +13662,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -13922,16 +13689,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -13944,7 +13709,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -13958,17 +13723,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -13996,29 +13761,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -14030,10 +13793,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns<~lib/string/String|null> end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -14422,7 +14185,6 @@ (func $~lib/util/sort/insertionSort<~lib/string/String> (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -14467,8 +14229,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if global.get $~lib/memory/__stack_pointer local.get $ptr @@ -14627,10 +14387,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) global.get $~lib/memory/__stack_pointer @@ -14657,8 +14414,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -14689,8 +14444,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -14719,8 +14472,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if global.get $~lib/memory/__stack_pointer local.get $buffer @@ -14800,27 +14551,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -15006,8 +14754,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -15047,13 +14793,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -15094,15 +14840,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -15121,16 +14867,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -15143,7 +14887,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -15157,17 +14901,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -15195,29 +14939,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -15229,10 +14971,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns<~lib/string/String> end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -16100,26 +15842,24 @@ (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $length i32) (param $k i32) (result i32) (local $kk i32) (local $i i32) - (local $5 i32) (local $ptr i32) (local $offset i32) - (local $i|8 i32) - (local $9 i32) - (local $buffer|10 i32) - (local $k|11 i32) + (local $i|7 i32) + (local $buffer|8 i32) + (local $k|9 i32) (local $sign i32) (local $decimals i32) - (local $buffer|14 i32) + (local $buffer|12 i32) (local $num i32) - (local $offset|16 i32) + (local $offset|14 i32) (local $len i32) - (local $buffer|18 i32) - (local $k|19 i32) - (local $sign|20 i32) - (local $decimals|21 i32) - (local $buffer|22 i32) - (local $num|23 i32) - (local $offset|24 i32) + (local $buffer|16 i32) + (local $k|17 i32) + (local $sign|18 i32) + (local $decimals|19 i32) + (local $buffer|20 i32) + (local $num|21 i32) + (local $offset|22 i32) local.get $k i32.eqz if @@ -16160,8 +15900,6 @@ local.get $i local.get $kk i32.lt_s - local.set $5 - local.get $5 if local.get $buffer local.get $i @@ -16265,25 +16003,23 @@ i32.or i32.store $0 i32.const 2 - local.set $i|8 + local.set $i|7 loop $for-loop|1 - local.get $i|8 + local.get $i|7 local.get $offset i32.lt_s - local.set $9 - local.get $9 if local.get $buffer - local.get $i|8 + local.get $i|7 i32.const 1 i32.shl i32.add i32.const 48 i32.store16 $0 - local.get $i|8 + local.get $i|7 i32.const 1 i32.add - local.set $i|8 + local.set $i|7 br $for-loop|1 end end @@ -16302,42 +16038,42 @@ local.get $buffer i32.const 4 i32.add - local.set $buffer|10 + local.set $buffer|8 local.get $kk i32.const 1 i32.sub - local.set $k|11 - local.get $k|11 + local.set $k|9 + local.get $k|9 i32.const 0 i32.lt_s local.set $sign local.get $sign if i32.const 0 - local.get $k|11 + local.get $k|9 i32.sub - local.set $k|11 + local.set $k|9 end - local.get $k|11 + local.get $k|9 call $~lib/util/number/decimalCount32 i32.const 1 i32.add local.set $decimals - local.get $buffer|10 - local.set $buffer|14 - local.get $k|11 + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 local.set $num local.get $decimals - local.set $offset|16 + local.set $offset|14 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|14 + local.get $buffer|12 local.get $num - local.get $offset|16 + local.get $offset|14 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|10 + local.get $buffer|8 i32.const 45 i32.const 43 local.get $sign @@ -16378,48 +16114,48 @@ i32.add i32.const 4 i32.add - local.set $buffer|18 + local.set $buffer|16 local.get $kk i32.const 1 i32.sub - local.set $k|19 - local.get $k|19 + local.set $k|17 + local.get $k|17 i32.const 0 i32.lt_s - local.set $sign|20 - local.get $sign|20 + local.set $sign|18 + local.get $sign|18 if i32.const 0 - local.get $k|19 + local.get $k|17 i32.sub - local.set $k|19 + local.set $k|17 end - local.get $k|19 + local.get $k|17 call $~lib/util/number/decimalCount32 i32.const 1 i32.add - local.set $decimals|21 - local.get $buffer|18 - local.set $buffer|22 - local.get $k|19 - local.set $num|23 - local.get $decimals|21 - local.set $offset|24 + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|22 - local.get $num|23 - local.get $offset|24 + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|18 + local.get $buffer|16 i32.const 45 i32.const 43 - local.get $sign|20 + local.get $sign|18 select i32.store16 $0 - local.get $decimals|21 + local.get $decimals|19 i32.add local.set $length local.get $length @@ -20096,10 +19832,9 @@ (local $check i32) (local $i i32) (local $len i32) - (local $4 i32) (local $input i32) (local $target i32) - (local $7 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -20111,25 +19846,25 @@ memory.fill $0 global.get $~lib/memory/__stack_pointer global.get $std/array/inputStabArr - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 offset=8 - local.get $7 + local.get $6 i32.const 0 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#slice - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 i32.const 10128 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 offset=4 - local.get $7 + local.get $6 call $~lib/array/Array#sort local.tee $sorted i32.store $0 offset=12 @@ -20138,11 +19873,11 @@ i32.const 0 local.set $i global.get $std/array/inputStabArr - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 call $~lib/array/Array#get:length local.set $len block $for-break0 @@ -20150,8 +19885,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if global.get $~lib/memory/__stack_pointer local.get $sorted @@ -20161,11 +19894,11 @@ i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer global.get $std/array/outputStabArr - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 local.get $i call $~lib/array/Array#__get local.tee $target @@ -20426,7 +20159,6 @@ (local $i i32) (local $len i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -20444,27 +20176,25 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $data local.get $i i32.const 1 i32.sub call $~lib/array/Array<~lib/array/Array>#__get - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store $0 - local.get $5 + local.get $4 local.get $data local.get $i call $~lib/array/Array<~lib/array/Array>#__get - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -20474,12 +20204,12 @@ i32.gt_s if i32.const 0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 return end local.get $i @@ -20490,12 +20220,12 @@ end end i32.const 1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 ) (func $std/array/assertSorted<~lib/array/Array> (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) (local $2 i32) @@ -20535,7 +20265,6 @@ (local $arr i32) (local $i i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -20556,8 +20285,6 @@ local.get $i local.get $size i32.lt_s - local.set $3 - local.get $3 if local.get $arr local.get $i @@ -20568,11 +20295,11 @@ local.get $i i32.sub call $std/array/Proxy#constructor - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store $0 offset=4 - local.get $4 + local.get $3 call $~lib/array/Array>#__set local.get $i i32.const 1 @@ -20582,12 +20309,12 @@ end end local.get $arr - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/util/sort/extendRunRight> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) @@ -20803,7 +20530,6 @@ (local $i i32) (local $len i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -20821,27 +20547,25 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $data local.get $i i32.const 1 i32.sub call $~lib/array/Array>#__get - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store $0 - local.get $5 + local.get $4 local.get $data local.get $i call $~lib/array/Array>#__get - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -20851,12 +20575,12 @@ i32.gt_s if i32.const 0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 return end local.get $i @@ -20867,12 +20591,12 @@ end end i32.const 1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 ) (func $std/array/assertSorted> (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) (local $2 i32) @@ -21122,7 +20846,6 @@ (local $i i32) (local $len i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -21140,27 +20863,25 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $data local.get $i i32.const 1 i32.sub call $~lib/array/Array<~lib/string/String|null>#__get - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store $0 - local.get $5 + local.get $4 local.get $data local.get $i call $~lib/array/Array<~lib/string/String|null>#__get - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -21170,12 +20891,12 @@ i32.gt_s if i32.const 0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 return end local.get $i @@ -21186,12 +20907,12 @@ end end i32.const 1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 ) (func $std/array/assertSorted<~lib/string/String|null> (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) (local $2 i32) @@ -21230,7 +20951,6 @@ (func $std/array/isArraysEqual<~lib/string/String|null> (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) (local $i i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -21251,12 +20971,12 @@ i32.ne if i32.const 0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 return end local.get $a @@ -21264,12 +20984,12 @@ i32.eq if i32.const 1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 return end end @@ -21279,36 +20999,34 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if i32.const 0 drop local.get $a local.get $i call $~lib/array/Array<~lib/string/String|null>#__get - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store $0 - local.get $5 + local.get $4 local.get $b local.get $i call $~lib/array/Array<~lib/string/String|null>#__get - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store $0 offset=4 - local.get $5 + local.get $4 call $~lib/string/String.__ne if i32.const 0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 return end local.get $i @@ -21319,19 +21037,18 @@ end end i32.const 1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 ) (func $std/array/createRandomString (type $i32_=>_i32) (param $len i32) (result i32) (local $result i32) (local $i i32) - (local $3 i32) (local $x f64) - (local $5 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -21353,24 +21070,22 @@ local.get $i local.get $len i32.lt_s - local.set $3 - local.get $3 if global.get $~lib/memory/__stack_pointer local.get $result global.get $std/array/charset - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store $0 offset=4 - local.get $5 + local.get $4 call $~lib/math/NativeMath.random global.get $std/array/charset - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store $0 offset=8 - local.get $5 + local.get $4 call $~lib/string/String#get:length f64.convert_i32_s f64.mul @@ -21379,11 +21094,11 @@ f64.floor i32.trunc_sat_f64_s call $~lib/string/String#charAt - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store $0 offset=4 - local.get $5 + local.get $4 call $~lib/string/String.__concat local.tee $result i32.store $0 @@ -21395,18 +21110,17 @@ end end local.get $result - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 ) (func $std/array/createRandomStringArray (type $i32_=>_i32) (param $size i32) (result i32) (local $arr i32) (local $i i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -21427,8 +21141,6 @@ local.get $i local.get $size i32.lt_s - local.set $3 - local.get $3 if local.get $arr local.get $i @@ -21437,11 +21149,11 @@ f64.mul i32.trunc_sat_f64_s call $std/array/createRandomString - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store $0 offset=4 - local.get $4 + local.get $3 call $~lib/array/Array<~lib/string/String>#__set local.get $i i32.const 1 @@ -21451,12 +21163,12 @@ end end local.get $arr - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/util/sort/extendRunRight<~lib/string/String> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) @@ -21672,7 +21384,6 @@ (local $i i32) (local $len i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -21690,27 +21401,25 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $data local.get $i i32.const 1 i32.sub call $~lib/array/Array<~lib/string/String>#__get - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store $0 - local.get $5 + local.get $4 local.get $data local.get $i call $~lib/array/Array<~lib/string/String>#__get - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -21720,12 +21429,12 @@ i32.gt_s if i32.const 0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 return end local.get $i @@ -21736,12 +21445,12 @@ end end i32.const 1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 ) (func $std/array/assertSorted<~lib/string/String> (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) (local $2 i32) @@ -21784,7 +21493,6 @@ (local $sepLen i32) (local $i i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -21805,12 +21513,12 @@ i32.lt_s if i32.const 10480 - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 return end local.get $lastIndex @@ -21830,12 +21538,12 @@ else i32.const 10480 end - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 return end global.get $~lib/memory/__stack_pointer @@ -21851,8 +21559,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $8 - local.get $8 if global.get $~lib/memory/__stack_pointer local.get $dataStart @@ -21871,11 +21577,11 @@ local.get $result local.get $value call $std/array/Ref#toString - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store $0 offset=8 - local.get $9 + local.get $8 call $~lib/string/String.__concat local.tee $result i32.store $0 offset=4 @@ -21913,22 +21619,22 @@ local.get $result local.get $value call $std/array/Ref#toString - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store $0 offset=8 - local.get $9 + local.get $8 call $~lib/string/String.__concat local.tee $result i32.store $0 offset=4 end local.get $result - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/util/string/joinReferenceArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -21937,7 +21643,6 @@ (local $sepLen i32) (local $i i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -21958,12 +21663,12 @@ i32.lt_s if i32.const 10480 - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 return end local.get $lastIndex @@ -21983,12 +21688,12 @@ else i32.const 10480 end - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 return end global.get $~lib/memory/__stack_pointer @@ -22004,8 +21709,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $8 - local.get $8 if global.get $~lib/memory/__stack_pointer local.get $dataStart @@ -22024,11 +21727,11 @@ local.get $result local.get $value call $std/array/Ref#toString - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store $0 offset=8 - local.get $9 + local.get $8 call $~lib/string/String.__concat local.tee $result i32.store $0 offset=4 @@ -22066,22 +21769,22 @@ local.get $result local.get $value call $std/array/Ref#toString - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store $0 offset=8 - local.get $9 + local.get $8 call $~lib/string/String.__concat local.tee $result i32.store $0 offset=4 end local.get $result - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22265,7 +21968,6 @@ (local $sepLen i32) (local $i i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -22286,12 +21988,12 @@ i32.lt_s if i32.const 10480 - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 return end local.get $lastIndex @@ -22311,12 +22013,12 @@ else i32.const 10480 end - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 return end global.get $~lib/memory/__stack_pointer @@ -22332,8 +22034,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $8 - local.get $8 if global.get $~lib/memory/__stack_pointer local.get $dataStart @@ -22352,11 +22052,11 @@ local.get $result local.get $value call $~lib/array/Array#toString - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store $0 offset=8 - local.get $9 + local.get $8 call $~lib/string/String.__concat local.tee $result i32.store $0 offset=4 @@ -22394,22 +22094,22 @@ local.get $result local.get $value call $~lib/array/Array#toString - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store $0 offset=8 - local.get $9 + local.get $8 call $~lib/string/String.__concat local.tee $result i32.store $0 offset=4 end local.get $result - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array<~lib/array/Array>#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22468,7 +22168,6 @@ (local $sepLen i32) (local $i i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -22489,12 +22188,12 @@ i32.lt_s if i32.const 10480 - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 return end local.get $lastIndex @@ -22514,12 +22213,12 @@ else i32.const 10480 end - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 return end global.get $~lib/memory/__stack_pointer @@ -22535,8 +22234,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $8 - local.get $8 if global.get $~lib/memory/__stack_pointer local.get $dataStart @@ -22555,11 +22252,11 @@ local.get $result local.get $value call $~lib/array/Array#toString - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store $0 offset=8 - local.get $9 + local.get $8 call $~lib/string/String.__concat local.tee $result i32.store $0 offset=4 @@ -22597,22 +22294,22 @@ local.get $result local.get $value call $~lib/array/Array#toString - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store $0 offset=8 - local.get $9 + local.get $8 call $~lib/string/String.__concat local.tee $result i32.store $0 offset=4 end local.get $result - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array<~lib/array/Array>#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22671,7 +22368,6 @@ (local $sepLen i32) (local $i i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -22692,12 +22388,12 @@ i32.lt_s if i32.const 10480 - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 return end local.get $lastIndex @@ -22717,12 +22413,12 @@ else i32.const 10480 end - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 return end global.get $~lib/memory/__stack_pointer @@ -22738,8 +22434,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $8 - local.get $8 if global.get $~lib/memory/__stack_pointer local.get $dataStart @@ -22758,11 +22452,11 @@ local.get $result local.get $value call $~lib/array/Array#toString - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store $0 offset=8 - local.get $9 + local.get $8 call $~lib/string/String.__concat local.tee $result i32.store $0 offset=4 @@ -22800,22 +22494,22 @@ local.get $result local.get $value call $~lib/array/Array#toString - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store $0 offset=8 - local.get $9 + local.get $8 call $~lib/string/String.__concat local.tee $result i32.store $0 offset=4 end local.get $result - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array<~lib/array/Array>#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22849,7 +22543,6 @@ (local $sepLen i32) (local $i i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -22870,12 +22563,12 @@ i32.lt_s if i32.const 10480 - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 return end local.get $lastIndex @@ -22895,12 +22588,12 @@ else i32.const 10480 end - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 return end global.get $~lib/memory/__stack_pointer @@ -22916,8 +22609,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $8 - local.get $8 if global.get $~lib/memory/__stack_pointer local.get $dataStart @@ -22936,11 +22627,11 @@ local.get $result local.get $value call $~lib/array/Array<~lib/array/Array>#toString - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store $0 offset=8 - local.get $9 + local.get $8 call $~lib/string/String.__concat local.tee $result i32.store $0 offset=4 @@ -22978,22 +22669,22 @@ local.get $result local.get $value call $~lib/array/Array<~lib/array/Array>#toString - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store $0 offset=8 - local.get $9 + local.get $8 call $~lib/string/String.__concat local.tee $result i32.store $0 offset=4 end local.get $result - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -23027,9 +22718,8 @@ (local $i i32) (local $6 i32) (local $7 i32) - (local $8 i32) (local $result i32) - (local $10 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -23069,8 +22759,6 @@ i32.lt_s select i32.lt_s - local.set $8 - local.get $8 if global.get $~lib/memory/__stack_pointer local.get $this @@ -23080,11 +22768,11 @@ i32.shl i32.add i32.load $0 - local.set $10 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store $0 offset=4 - local.get $10 + local.get $9 local.get $i local.get $this i32.const 3 @@ -23115,12 +22803,12 @@ end end local.get $out - local.set $10 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $9 ) (func $start:std/array (type $none_=>_none) (local $0 i32) @@ -23602,15 +23290,6 @@ (local $476 i32) (local $477 i32) (local $478 i32) - (local $479 i32) - (local $480 i32) - (local $481 i32) - (local $482 i32) - (local $483 i32) - (local $484 i32) - (local $485 i32) - (local $486 i32) - (local $487 i32) global.get $~lib/memory/__stack_pointer i32.const 508 i32.sub @@ -23668,11 +23347,11 @@ i32.const 0 i32.const 0 call $std/array/Ref#constructor - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array.isArray i32.eqz i32.eqz @@ -23687,11 +23366,11 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#constructor - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array.isArray<~lib/typedarray/Uint8Array> i32.eqz i32.eqz @@ -23716,11 +23395,11 @@ unreachable end i32.const 640 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array.isArray<~lib/string/String> i32.eqz i32.eqz @@ -23733,11 +23412,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array.isArray<~lib/array/Array> i32.eqz if @@ -23768,11 +23447,11 @@ i32.const 7 i32.const 704 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23796,11 +23475,11 @@ i32.const 7 i32.const 736 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23824,11 +23503,11 @@ i32.const 7 i32.const 768 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23852,11 +23531,11 @@ i32.const 7 i32.const 800 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23880,11 +23559,11 @@ i32.const 7 i32.const 832 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23908,11 +23587,11 @@ i32.const 7 i32.const 864 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23944,11 +23623,11 @@ i32.const 8 i32.const 944 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23972,11 +23651,11 @@ i32.const 8 i32.const 992 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24000,11 +23679,11 @@ i32.const 8 i32.const 1040 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24028,11 +23707,11 @@ i32.const 8 i32.const 1088 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24056,11 +23735,11 @@ i32.const 8 i32.const 1136 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24084,11 +23763,11 @@ i32.const 8 i32.const 1184 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24120,11 +23799,11 @@ i32.const 9 i32.const 1280 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24148,11 +23827,11 @@ i32.const 9 i32.const 1328 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24176,11 +23855,11 @@ i32.const 9 i32.const 1376 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24204,11 +23883,11 @@ i32.const 9 i32.const 1424 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24232,11 +23911,11 @@ i32.const 9 i32.const 1472 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24260,11 +23939,11 @@ i32.const 9 i32.const 1520 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24288,11 +23967,11 @@ i32.const 9 i32.const 1568 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -24305,11 +23984,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -24323,11 +24002,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -24341,20 +24020,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 42 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -24369,11 +24048,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 1 i32.eq @@ -24387,11 +24066,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -24405,11 +24084,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop local.set $47 local.get $47 @@ -24425,11 +24104,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -24443,11 +24122,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -24461,20 +24140,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 1 i32.eq @@ -24488,11 +24167,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -24506,11 +24185,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -24525,20 +24204,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 44 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -24552,11 +24231,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -24570,11 +24249,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -24589,11 +24268,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -24608,20 +24287,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 45 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -24635,11 +24314,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -24653,11 +24332,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -24672,11 +24351,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -24691,11 +24370,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -24826,21 +24505,21 @@ i32.store $0 offset=36 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 local.get $54 call $~lib/array/Array#concat local.tee $55 i32.store $0 offset=40 global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -24854,11 +24533,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -24890,19 +24569,19 @@ i32.const 4 i32.const 1712 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#concat drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -24967,21 +24646,21 @@ drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 local.get $54 call $~lib/array/Array#concat local.tee $55 i32.store $0 offset=40 global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -25130,11 +24809,11 @@ global.get $~lib/memory/__stack_pointer local.get $60 global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#concat local.tee $55 i32.store $0 offset=40 @@ -25177,21 +24856,21 @@ i32.const 3 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#copyWithin - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5 i32.const 2 i32.const 4 i32.const 1824 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -25216,21 +24895,21 @@ i32.const 3 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#copyWithin - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5 i32.const 2 i32.const 4 i32.const 1920 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -25255,21 +24934,21 @@ i32.const 2 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#copyWithin - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5 i32.const 2 i32.const 4 i32.const 2016 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -25294,21 +24973,21 @@ i32.const 2 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#copyWithin - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5 i32.const 2 i32.const 4 i32.const 2112 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -25333,21 +25012,21 @@ i32.const 3 i32.const 4 call $~lib/array/Array#copyWithin - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5 i32.const 2 i32.const 4 i32.const 2208 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -25372,21 +25051,21 @@ i32.const 3 i32.const 4 call $~lib/array/Array#copyWithin - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5 i32.const 2 i32.const 4 i32.const 2304 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -25411,21 +25090,21 @@ i32.const 2 i32.const 4 call $~lib/array/Array#copyWithin - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5 i32.const 2 i32.const 4 i32.const 2400 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -25450,21 +25129,21 @@ i32.const -2 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#copyWithin - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5 i32.const 2 i32.const 4 i32.const 2496 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -25489,21 +25168,21 @@ i32.const -2 i32.const -1 call $~lib/array/Array#copyWithin - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5 i32.const 2 i32.const 4 i32.const 2592 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -25528,21 +25207,21 @@ i32.const -3 i32.const -2 call $~lib/array/Array#copyWithin - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5 i32.const 2 i32.const 4 i32.const 2688 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -25567,21 +25246,21 @@ i32.const -3 i32.const -1 call $~lib/array/Array#copyWithin - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5 i32.const 2 i32.const 4 i32.const 2784 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -25606,21 +25285,21 @@ i32.const -3 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#copyWithin - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5 i32.const 2 i32.const 4 i32.const 2880 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -25633,20 +25312,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 42 call $~lib/array/Array#unshift drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -25660,11 +25339,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -25678,11 +25357,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -25697,11 +25376,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -25716,11 +25395,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -25735,11 +25414,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -25754,20 +25433,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 41 call $~lib/array/Array#unshift drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 5 i32.eq @@ -25781,11 +25460,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -25799,11 +25478,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#__get i32.const 41 @@ -25818,11 +25497,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 call $~lib/array/Array#__get i32.const 42 @@ -25837,11 +25516,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#__get i32.const 43 @@ -25856,11 +25535,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 call $~lib/array/Array#__get i32.const 44 @@ -25875,11 +25554,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 4 call $~lib/array/Array#__get i32.const 45 @@ -25894,11 +25573,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#shift global.set $std/array/i global.get $std/array/i @@ -25914,11 +25593,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -25932,11 +25611,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -25950,11 +25629,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -25969,11 +25648,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -25988,11 +25667,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -26007,11 +25686,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -26026,11 +25705,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop global.set $std/array/i global.get $std/array/i @@ -26046,11 +25725,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -26064,11 +25743,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -26082,11 +25761,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -26101,11 +25780,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -26120,11 +25799,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -26159,11 +25838,11 @@ i32.const 4 i32.const 2976 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26188,11 +25867,11 @@ i32.const 4 i32.const 3008 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26217,11 +25896,11 @@ i32.const 4 i32.const 3040 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26266,11 +25945,11 @@ i32.const 4 i32.const 3088 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26295,11 +25974,11 @@ i32.const 4 i32.const 3120 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26324,11 +26003,11 @@ i32.const 4 i32.const 3152 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26344,11 +26023,11 @@ i32.const -1 i32.const -3 call $~lib/array/Array#slice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -26365,11 +26044,11 @@ i32.const 10 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#slice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -26383,19 +26062,19 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#reverse drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -26409,11 +26088,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -26427,11 +26106,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#__get i32.const 44 @@ -26446,11 +26125,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -26465,11 +26144,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#__get i32.const 42 @@ -26484,20 +26163,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 44 call $~lib/array/Array#push drop @@ -26507,11 +26186,11 @@ i32.const 7 i32.const 3184 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#reverse local.tee $128 i32.store $0 offset=60 @@ -26524,8 +26203,6 @@ local.get $129 local.get $130 i32.lt_s - local.set $131 - local.get $131 if local.get $128 local.get $129 @@ -26559,32 +26236,30 @@ i32.const 7 i32.const 3216 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#reverse - local.tee $134 + local.tee $133 i32.store $0 offset=64 i32.const 0 - local.set $135 - local.get $134 + local.set $134 + local.get $133 call $~lib/array/Array#get:length - local.set $136 + local.set $135 loop $for-loop|1 + local.get $134 local.get $135 - local.get $136 i32.lt_s - local.set $137 - local.get $137 if + local.get $133 local.get $134 - local.get $135 call $~lib/array/Array#__get - local.get $134 + local.get $133 call $~lib/array/Array#get:length - local.get $135 + local.get $134 i32.sub i32.const 1 i32.sub @@ -26598,10 +26273,10 @@ call $~lib/builtins/abort unreachable end - local.get $135 + local.get $134 i32.const 1 i32.add - local.set $135 + local.set $134 br $for-loop|1 end end @@ -26611,32 +26286,30 @@ i32.const 7 i32.const 3248 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#reverse - local.tee $140 + local.tee $138 i32.store $0 offset=68 i32.const 0 - local.set $141 - local.get $140 + local.set $139 + local.get $138 call $~lib/array/Array#get:length - local.set $142 + local.set $140 loop $for-loop|2 - local.get $141 - local.get $142 + local.get $139 + local.get $140 i32.lt_s - local.set $143 - local.get $143 if - local.get $140 - local.get $141 + local.get $138 + local.get $139 call $~lib/array/Array#__get - local.get $140 + local.get $138 call $~lib/array/Array#get:length - local.get $141 + local.get $139 i32.sub i32.const 1 i32.sub @@ -26650,10 +26323,10 @@ call $~lib/builtins/abort unreachable end - local.get $141 + local.get $139 i32.const 1 i32.add - local.set $141 + local.set $139 br $for-loop|2 end end @@ -26663,32 +26336,30 @@ i32.const 11 i32.const 3296 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#reverse - local.tee $146 + local.tee $143 i32.store $0 offset=72 i32.const 0 - local.set $147 - local.get $146 + local.set $144 + local.get $143 call $~lib/array/Array#get:length - local.set $148 + local.set $145 loop $for-loop|3 - local.get $147 - local.get $148 + local.get $144 + local.get $145 i32.lt_s - local.set $149 - local.get $149 if - local.get $146 - local.get $147 + local.get $143 + local.get $144 call $~lib/array/Array#__get - local.get $146 + local.get $143 call $~lib/array/Array#get:length - local.get $147 + local.get $144 i32.sub i32.const 1 i32.sub @@ -26702,10 +26373,10 @@ call $~lib/builtins/abort unreachable end - local.get $147 + local.get $144 i32.const 1 i32.add - local.set $147 + local.set $144 br $for-loop|3 end end @@ -26715,32 +26386,30 @@ i32.const 11 i32.const 3344 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#reverse - local.tee $152 + local.tee $148 i32.store $0 offset=76 i32.const 0 - local.set $153 - local.get $152 + local.set $149 + local.get $148 call $~lib/array/Array#get:length - local.set $154 + local.set $150 loop $for-loop|4 - local.get $153 - local.get $154 + local.get $149 + local.get $150 i32.lt_s - local.set $155 - local.get $155 if - local.get $152 - local.get $153 + local.get $148 + local.get $149 call $~lib/array/Array#__get - local.get $152 + local.get $148 call $~lib/array/Array#get:length - local.get $153 + local.get $149 i32.sub i32.const 1 i32.sub @@ -26754,10 +26423,10 @@ call $~lib/builtins/abort unreachable end - local.get $153 + local.get $149 i32.const 1 i32.add - local.set $153 + local.set $149 br $for-loop|4 end end @@ -26767,32 +26436,30 @@ i32.const 11 i32.const 3392 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#reverse - local.tee $158 + local.tee $153 i32.store $0 offset=80 i32.const 0 - local.set $159 - local.get $158 + local.set $154 + local.get $153 call $~lib/array/Array#get:length - local.set $160 + local.set $155 loop $for-loop|5 - local.get $159 - local.get $160 + local.get $154 + local.get $155 i32.lt_s - local.set $161 - local.get $161 if - local.get $158 - local.get $159 + local.get $153 + local.get $154 call $~lib/array/Array#__get - local.get $158 + local.get $153 call $~lib/array/Array#get:length - local.get $159 + local.get $154 i32.sub i32.const 1 i32.sub @@ -26806,19 +26473,19 @@ call $~lib/builtins/abort unreachable end - local.get $159 + local.get $154 i32.const 1 i32.add - local.set $159 + local.set $154 br $for-loop|5 end end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 44 i32.const 0 call $~lib/array/Array#indexOf @@ -26836,11 +26503,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 42 i32.const 0 call $~lib/array/Array#indexOf @@ -26858,11 +26525,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 45 i32.const 0 call $~lib/array/Array#indexOf @@ -26880,11 +26547,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const 100 call $~lib/array/Array#indexOf @@ -26902,11 +26569,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const -100 call $~lib/array/Array#indexOf @@ -26924,11 +26591,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const -2 call $~lib/array/Array#indexOf @@ -26946,11 +26613,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const -4 call $~lib/array/Array#indexOf @@ -26968,11 +26635,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const 0 call $~lib/array/Array#indexOf @@ -26990,11 +26657,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const 1 call $~lib/array/Array#indexOf @@ -27012,11 +26679,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const 2 call $~lib/array/Array#indexOf @@ -27038,11 +26705,11 @@ i32.const 9 i32.const 3440 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 f32.const nan:0x400000 i32.const 0 call $~lib/array/Array#indexOf @@ -27062,11 +26729,11 @@ i32.const 12 i32.const 3472 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 f64.const nan:0x8000000000000 i32.const 0 call $~lib/array/Array#indexOf @@ -27087,9 +26754,9 @@ i32.const 4 i32.const 3504 call $~lib/rt/__newArray - local.tee $168 + local.tee $162 i32.store $0 offset=84 - local.get $168 + local.get $162 i32.const 2 i32.const 1 global.set $~argumentsLength @@ -27106,7 +26773,7 @@ call $~lib/builtins/abort unreachable end - local.get $168 + local.get $162 i32.const 7 i32.const 1 global.set $~argumentsLength @@ -27123,7 +26790,7 @@ call $~lib/builtins/abort unreachable end - local.get $168 + local.get $162 i32.const 2 i32.const 3 call $~lib/array/Array#lastIndexOf @@ -27138,7 +26805,7 @@ call $~lib/builtins/abort unreachable end - local.get $168 + local.get $162 i32.const 2 i32.const 2 call $~lib/array/Array#lastIndexOf @@ -27153,7 +26820,7 @@ call $~lib/builtins/abort unreachable end - local.get $168 + local.get $162 i32.const 2 i32.const -2 call $~lib/array/Array#lastIndexOf @@ -27168,7 +26835,7 @@ call $~lib/builtins/abort unreachable end - local.get $168 + local.get $162 i32.const 2 i32.const -1 call $~lib/array/Array#lastIndexOf @@ -27184,16 +26851,16 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 44 i32.const 0 call $~lib/array/Array#includes - local.set $169 - local.get $169 + local.set $163 + local.get $163 i32.const 1 i32.eq i32.eqz @@ -27206,16 +26873,16 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 42 i32.const 0 call $~lib/array/Array#includes - local.set $169 - local.get $169 + local.set $163 + local.get $163 i32.const 1 i32.eq i32.eqz @@ -27228,16 +26895,16 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 45 i32.const 0 call $~lib/array/Array#includes - local.set $169 - local.get $169 + local.set $163 + local.get $163 i32.const 0 i32.eq i32.eqz @@ -27250,16 +26917,16 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const 100 call $~lib/array/Array#includes - local.set $169 - local.get $169 + local.set $163 + local.get $163 i32.const 0 i32.eq i32.eqz @@ -27272,16 +26939,16 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const -100 call $~lib/array/Array#includes - local.set $169 - local.get $169 + local.set $163 + local.get $163 i32.const 1 i32.eq i32.eqz @@ -27294,16 +26961,16 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const -2 call $~lib/array/Array#includes - local.set $169 - local.get $169 + local.set $163 + local.get $163 i32.const 1 i32.eq i32.eqz @@ -27316,16 +26983,16 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const -4 call $~lib/array/Array#includes - local.set $169 - local.get $169 + local.set $163 + local.get $163 i32.const 1 i32.eq i32.eqz @@ -27338,16 +27005,16 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const 0 call $~lib/array/Array#includes - local.set $169 - local.get $169 + local.set $163 + local.get $163 i32.const 1 i32.eq i32.eqz @@ -27360,16 +27027,16 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const 1 call $~lib/array/Array#includes - local.set $169 - local.get $169 + local.set $163 + local.get $163 i32.const 1 i32.eq i32.eqz @@ -27382,16 +27049,16 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 43 i32.const 2 call $~lib/array/Array#includes - local.set $169 - local.get $169 + local.set $163 + local.get $163 i32.const 1 i32.eq i32.eqz @@ -27408,11 +27075,11 @@ i32.const 9 i32.const 3552 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 f32.const nan:0x400000 i32.const 0 call $~lib/array/Array#includes @@ -27430,11 +27097,11 @@ i32.const 12 i32.const 3584 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 f64.const nan:0x8000000000000 i32.const 0 call $~lib/array/Array#includes @@ -27448,21 +27115,21 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 i32.const 1 call $~lib/array/Array#splice drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -27476,11 +27143,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/internalCapacity i32.const 8 i32.eq @@ -27494,11 +27161,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#__get i32.const 44 @@ -27513,11 +27180,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 call $~lib/array/Array#__get i32.const 42 @@ -27537,27 +27204,27 @@ i32.const 4 i32.const 3616 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const 0 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5 i32.const 2 i32.const 4 i32.const 3664 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27569,17 +27236,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 0 i32.const 2 i32.const 4 i32.const 3712 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27597,27 +27264,27 @@ i32.const 4 i32.const 3744 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const 0 i32.const 0 call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 i32.const 2 i32.const 4 i32.const 3792 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27629,17 +27296,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 5 i32.const 2 i32.const 4 i32.const 3824 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27657,27 +27324,27 @@ i32.const 4 i32.const 3872 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const 2 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 i32.const 2 i32.const 4 i32.const 3920 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27689,17 +27356,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 2 i32.const 2 i32.const 4 i32.const 3952 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27717,27 +27384,27 @@ i32.const 4 i32.const 3984 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const 2 i32.const 2 call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 i32.const 2 i32.const 4 i32.const 4032 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27749,17 +27416,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 3 i32.const 2 i32.const 4 i32.const 4064 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27777,27 +27444,27 @@ i32.const 4 i32.const 4096 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const 0 i32.const 1 call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 i32.const 2 i32.const 4 i32.const 4144 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27809,17 +27476,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 4 i32.const 2 i32.const 4 i32.const 4176 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27837,27 +27504,27 @@ i32.const 4 i32.const 4224 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const -1 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 i32.const 2 i32.const 4 i32.const 4272 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27869,17 +27536,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 4 i32.const 2 i32.const 4 i32.const 4304 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27897,27 +27564,27 @@ i32.const 4 i32.const 4352 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const -2 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 i32.const 2 i32.const 4 i32.const 4400 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27929,17 +27596,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 3 i32.const 2 i32.const 4 i32.const 4432 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27957,27 +27624,27 @@ i32.const 4 i32.const 4464 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const -2 i32.const 1 call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 i32.const 2 i32.const 4 i32.const 4512 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27989,17 +27656,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 4 i32.const 2 i32.const 4 i32.const 4544 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -28017,27 +27684,27 @@ i32.const 4 i32.const 4592 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const -7 i32.const 1 call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 i32.const 2 i32.const 4 i32.const 4640 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -28049,17 +27716,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 4 i32.const 2 i32.const 4 i32.const 4672 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -28077,27 +27744,27 @@ i32.const 4 i32.const 4720 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const -2 i32.const -1 call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 i32.const 2 i32.const 4 i32.const 4768 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -28109,17 +27776,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 5 i32.const 2 i32.const 4 i32.const 4800 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -28137,27 +27804,27 @@ i32.const 4 i32.const 4848 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const 1 i32.const -2 call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 i32.const 2 i32.const 4 i32.const 4896 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -28169,17 +27836,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 5 i32.const 2 i32.const 4 i32.const 4928 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -28197,27 +27864,27 @@ i32.const 4 i32.const 4976 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const 4 i32.const 0 call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 i32.const 2 i32.const 4 i32.const 5024 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -28229,17 +27896,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 5 i32.const 2 i32.const 4 i32.const 5056 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -28257,27 +27924,27 @@ i32.const 4 i32.const 5104 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const 7 i32.const 0 call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 i32.const 2 i32.const 4 i32.const 5152 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -28289,17 +27956,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 5 i32.const 2 i32.const 4 i32.const 5184 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -28317,27 +27984,27 @@ i32.const 4 i32.const 5232 call $~lib/rt/__newArray - local.tee $176 + local.tee $170 i32.store $0 offset=88 - local.get $176 + local.get $170 i32.const 7 i32.const 5 call $~lib/array/Array#splice - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 i32.const 2 i32.const 4 i32.const 5280 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -28349,17 +28016,17 @@ call $~lib/builtins/abort unreachable end - local.get $176 + local.get $170 i32.const 5 i32.const 2 i32.const 4 i32.const 5312 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -28377,16 +28044,16 @@ i32.const 10 i32.const 5360 call $~lib/rt/__newArray - local.tee $261 + local.tee $255 i32.store $0 offset=92 global.get $~lib/memory/__stack_pointer - local.get $261 + local.get $255 i32.const 1 i32.const 2 call $~lib/array/Array#splice - local.tee $262 + local.tee $256 i32.store $0 offset=96 - local.get $262 + local.get $256 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -28399,7 +28066,7 @@ call $~lib/builtins/abort unreachable end - local.get $261 + local.get $255 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -28419,54 +28086,54 @@ i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $263 + local.tee $257 i32.store $0 offset=100 global.get $~lib/memory/__stack_pointer - local.get $263 + local.get $257 i32.load $0 offset=4 - local.tee $264 + local.tee $258 i32.store $0 offset=104 - local.get $263 + local.get $257 i32.const 0 i32.const 0 i32.const 1 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $263 + local.get $257 i32.const 1 i32.const 0 i32.const 2 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $263 + local.get $257 i32.const 2 i32.const 0 i32.const 3 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $263 + local.get $257 i32.const 3 i32.const 0 i32.const 4 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $263 + local.get $257 i32.const 4 i32.const 0 i32.const 5 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $263 - local.tee $261 + local.get $257 + local.tee $255 i32.store $0 offset=92 global.get $~lib/memory/__stack_pointer - local.get $261 + local.get $255 i32.const 2 i32.const 2 call $~lib/array/Array#splice - local.tee $262 + local.tee $256 i32.store $0 offset=96 - local.get $262 + local.get $256 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -28479,14 +28146,14 @@ call $~lib/builtins/abort unreachable end - local.get $262 + local.get $256 i32.const 0 call $~lib/array/Array#__get - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/Ref#get:v i32.const 3 i32.eq @@ -28499,14 +28166,14 @@ call $~lib/builtins/abort unreachable end - local.get $262 + local.get $256 i32.const 1 call $~lib/array/Array#__get - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/Ref#get:v i32.const 4 i32.eq @@ -28519,7 +28186,7 @@ call $~lib/builtins/abort unreachable end - local.get $261 + local.get $255 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -28532,14 +28199,14 @@ call $~lib/builtins/abort unreachable end - local.get $261 + local.get $255 i32.const 0 call $~lib/array/Array#__get - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/Ref#get:v i32.const 1 i32.eq @@ -28552,14 +28219,14 @@ call $~lib/builtins/abort unreachable end - local.get $261 + local.get $255 i32.const 1 call $~lib/array/Array#__get - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/Ref#get:v i32.const 2 i32.eq @@ -28572,14 +28239,14 @@ call $~lib/builtins/abort unreachable end - local.get $261 + local.get $255 i32.const 2 call $~lib/array/Array#__get - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/Ref#get:v i32.const 5 i32.eq @@ -28599,40 +28266,40 @@ i32.const 13 i32.const 0 call $~lib/rt/__newArray - local.tee $265 + local.tee $259 i32.store $0 offset=108 global.get $~lib/memory/__stack_pointer - local.get $265 + local.get $259 i32.load $0 offset=4 - local.tee $266 + local.tee $260 i32.store $0 offset=112 - local.get $265 + local.get $259 i32.const 0 i32.const 0 i32.const 1 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $265 + local.get $259 i32.const 1 i32.const 0 call $~lib/array/Array#__uset - local.get $265 + local.get $259 i32.const 2 i32.const 0 i32.const 2 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $265 - local.tee $267 + local.get $259 + local.tee $261 i32.store $0 offset=116 global.get $~lib/memory/__stack_pointer - local.get $267 + local.get $261 i32.const 0 i32.const 1 call $~lib/array/Array#splice - local.tee $268 + local.tee $262 i32.store $0 offset=120 - local.get $268 + local.get $262 call $~lib/array/Array#get:length i32.const 1 i32.eq @@ -28646,14 +28313,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $268 + local.get $262 i32.const 0 call $~lib/array/Array#__get - local.tee $269 + local.tee $263 i32.store $0 offset=124 - local.get $269 + local.get $263 if (result i32) - local.get $269 + local.get $263 else i32.const 5520 i32.const 528 @@ -28662,11 +28329,11 @@ call $~lib/builtins/abort unreachable end - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/Ref#get:v i32.const 1 i32.eq @@ -28679,7 +28346,7 @@ call $~lib/builtins/abort unreachable end - local.get $267 + local.get $261 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -28692,7 +28359,7 @@ call $~lib/builtins/abort unreachable end - local.get $267 + local.get $261 i32.const 0 call $~lib/array/Array#__get i32.const 0 @@ -28707,14 +28374,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $267 + local.get $261 i32.const 1 call $~lib/array/Array#__get - local.tee $270 + local.tee $264 i32.store $0 offset=128 - local.get $270 + local.get $264 if (result i32) - local.get $270 + local.get $264 else i32.const 5520 i32.const 528 @@ -28723,11 +28390,11 @@ call $~lib/builtins/abort unreachable end - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $std/array/Ref#get:v i32.const 2 i32.eq @@ -28741,53 +28408,53 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 i32.const 0 call $~lib/array/Array#__set global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 i32.const 1 call $~lib/array/Array#__set global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 i32.const 2 call $~lib/array/Array#__set global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 i32.const 3 call $~lib/array/Array#__set global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5584 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -28803,17 +28470,17 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5616 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -28829,17 +28496,17 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5648 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -28855,17 +28522,17 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5680 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -28881,11 +28548,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -28899,17 +28566,17 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5712 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -28925,49 +28592,49 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5744 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -28983,11 +28650,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -29001,20 +28668,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 call $~lib/array/Array#push drop @@ -29024,15 +28691,15 @@ i32.const 4 i32.const 5776 call $~lib/rt/__newArray - local.tee $273 + local.tee $267 i32.store $0 offset=132 - local.get $273 + local.get $267 i32.const 5824 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#findLastIndex global.set $std/array/i global.get $std/array/i @@ -29047,13 +28714,13 @@ call $~lib/builtins/abort unreachable end - local.get $273 + local.get $267 i32.const 5856 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#findLastIndex global.set $std/array/i global.get $std/array/i @@ -29068,13 +28735,13 @@ call $~lib/builtins/abort unreachable end - local.get $273 + local.get $267 i32.const 5888 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#findLastIndex global.set $std/array/i global.get $std/array/i @@ -29089,13 +28756,13 @@ call $~lib/builtins/abort unreachable end - local.get $273 + local.get $267 i32.const 5920 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#findLastIndex global.set $std/array/i global.get $std/array/i @@ -29111,20 +28778,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5952 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#every - local.set $274 - local.get $274 + local.set $268 + local.get $268 i32.const 1 i32.eq i32.eqz @@ -29137,20 +28804,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 5984 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#every - local.set $274 - local.get $274 + local.set $268 + local.get $268 i32.const 0 i32.eq i32.eqz @@ -29163,20 +28830,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 6016 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#every - local.set $274 - local.get $274 + local.set $268 + local.get $268 i32.const 1 i32.eq i32.eqz @@ -29189,11 +28856,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -29207,20 +28874,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 6048 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#every - local.set $274 - local.get $274 + local.set $268 + local.get $268 i32.const 0 i32.eq i32.eqz @@ -29233,52 +28900,52 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 6080 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#every - local.set $274 - local.get $274 + local.set $268 + local.get $268 i32.const 1 i32.eq i32.eqz @@ -29291,11 +28958,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -29309,38 +28976,38 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 6112 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#some - local.set $275 - local.get $275 + local.set $269 + local.get $269 i32.const 1 i32.eq i32.eqz @@ -29353,20 +29020,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 6144 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#some - local.set $275 - local.get $275 + local.set $269 + local.get $269 i32.const 0 i32.eq i32.eqz @@ -29379,20 +29046,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 6176 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#some - local.set $275 - local.get $275 + local.set $269 + local.get $269 i32.const 0 i32.eq i32.eqz @@ -29405,11 +29072,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -29423,20 +29090,20 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 6208 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#some - local.set $275 - local.get $275 + local.set $269 + local.get $269 i32.const 1 i32.eq i32.eqz @@ -29449,52 +29116,52 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 6240 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#some - local.set $275 - local.get $275 + local.set $269 + local.get $269 i32.const 0 i32.eq i32.eqz @@ -29507,11 +29174,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -29525,37 +29192,37 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 call $~lib/array/Array#push drop i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 6272 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#forEach global.get $std/array/i i32.const 6 @@ -29572,17 +29239,17 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 6304 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#forEach global.get $std/array/i i32.const 6 @@ -29597,11 +29264,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -29617,17 +29284,17 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 6336 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#forEach global.get $std/array/i i32.const 406 @@ -29642,51 +29309,51 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 6368 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#forEach global.get $std/array/i i32.const 1 @@ -29701,11 +29368,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -29719,42 +29386,42 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 6400 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#forEach global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 100 i32.eq @@ -29768,98 +29435,96 @@ unreachable end i32.const 0 - local.set $276 + local.set $270 loop $for-loop|6 - local.get $276 + local.get $270 i32.const 100 i32.lt_s - local.set $277 - local.get $277 if global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop - local.get $276 + local.get $270 i32.const 1 i32.add - local.set $276 + local.set $270 br $for-loop|6 end end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8208 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#map<~lib/string/String> - local.tee $278 + local.tee $271 i32.store $0 offset=136 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8240 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#map - local.tee $279 + local.tee $272 i32.store $0 offset=140 - local.get $279 + local.get $272 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -29872,15 +29537,15 @@ call $~lib/builtins/abort unreachable end - local.get $279 + local.get $272 i32.const 0 call $~lib/array/Array#__get global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#__get f32.convert_i32_s @@ -29897,17 +29562,17 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8272 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#map drop global.get $std/array/i @@ -29923,11 +29588,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -29943,17 +29608,17 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8304 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#map drop global.get $std/array/i @@ -29969,51 +29634,51 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8336 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#map drop global.get $std/array/i @@ -30029,11 +29694,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -30047,40 +29712,40 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8368 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#filter - local.tee $280 + local.tee $273 i32.store $0 offset=144 - local.get $280 + local.get $273 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -30096,17 +29761,17 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8400 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#filter drop global.get $std/array/i @@ -30122,11 +29787,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -30142,17 +29807,17 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8432 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#filter drop global.get $std/array/i @@ -30168,51 +29833,51 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8464 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/array/Array#filter drop global.get $std/array/i @@ -30228,11 +29893,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -30246,35 +29911,35 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8496 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -30291,17 +29956,17 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8528 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 4 call $~lib/array/Array#reduce global.set $std/array/i @@ -30318,21 +29983,21 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8560 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#reduce - local.set $281 - local.get $281 + local.set $274 + local.get $274 i32.const 0 i32.ne i32.const 1 @@ -30347,21 +30012,21 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8592 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#reduce - local.set $281 - local.get $281 + local.set $274 + local.get $274 i32.const 0 i32.ne i32.const 0 @@ -30376,17 +30041,17 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8624 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -30403,11 +30068,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -30421,17 +30086,17 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8656 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -30448,49 +30113,49 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8688 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -30507,11 +30172,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -30525,35 +30190,35 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8720 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -30570,17 +30235,17 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8752 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 4 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -30597,21 +30262,21 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8784 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#reduceRight - local.set $282 - local.get $282 + local.set $275 + local.get $275 i32.const 0 i32.ne i32.const 1 @@ -30626,21 +30291,21 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8816 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#reduceRight - local.set $282 - local.get $282 + local.set $275 + local.get $275 i32.const 0 i32.ne i32.const 0 @@ -30655,17 +30320,17 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8848 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -30682,11 +30347,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -30700,17 +30365,17 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8880 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -30727,49 +30392,49 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 8912 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -30786,11 +30451,11 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -30804,38 +30469,38 @@ unreachable end global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 0 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 1 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 3 call $~lib/array/Array#push drop @@ -30848,194 +30513,194 @@ i32.const 23 i32.const 0 call $~lib/rt/__newArray - local.tee $283 + local.tee $276 i32.store $0 offset=148 global.get $~lib/memory/__stack_pointer - local.get $283 + local.get $276 i32.load $0 offset=4 - local.tee $284 + local.tee $277 i32.store $0 offset=152 - local.get $283 + local.get $276 i32.const 0 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $285 + local.tee $278 i32.store $0 offset=156 - local.get $285 + local.get $278 i32.const 100 call $std/array/Dim#set:height - local.get $285 + local.get $278 i32.const 80 call $std/array/Dim#set:width - local.get $285 + local.get $278 call $~lib/array/Array#__uset - local.get $283 + local.get $276 i32.const 1 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $286 + local.tee $279 i32.store $0 offset=160 - local.get $286 + local.get $279 i32.const 90 call $std/array/Dim#set:height - local.get $286 + local.get $279 i32.const 90 call $std/array/Dim#set:width - local.get $286 + local.get $279 call $~lib/array/Array#__uset - local.get $283 + local.get $276 i32.const 2 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $287 + local.tee $280 i32.store $0 offset=164 - local.get $287 + local.get $280 i32.const 70 call $std/array/Dim#set:height - local.get $287 + local.get $280 i32.const 95 call $std/array/Dim#set:width - local.get $287 + local.get $280 call $~lib/array/Array#__uset - local.get $283 + local.get $276 i32.const 3 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $288 + local.tee $281 i32.store $0 offset=168 - local.get $288 + local.get $281 i32.const 100 call $std/array/Dim#set:height - local.get $288 + local.get $281 i32.const 100 call $std/array/Dim#set:width - local.get $288 + local.get $281 call $~lib/array/Array#__uset - local.get $283 + local.get $276 i32.const 4 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $289 + local.tee $282 i32.store $0 offset=172 - local.get $289 + local.get $282 i32.const 80 call $std/array/Dim#set:height - local.get $289 + local.get $282 i32.const 110 call $std/array/Dim#set:width - local.get $289 + local.get $282 call $~lib/array/Array#__uset - local.get $283 + local.get $276 i32.const 5 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $290 + local.tee $283 i32.store $0 offset=176 - local.get $290 + local.get $283 i32.const 110 call $std/array/Dim#set:height - local.get $290 + local.get $283 i32.const 115 call $std/array/Dim#set:width - local.get $290 - call $~lib/array/Array#__uset local.get $283 + call $~lib/array/Array#__uset + local.get $276 i32.const 6 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $291 + local.tee $284 i32.store $0 offset=180 - local.get $291 + local.get $284 i32.const 100 call $std/array/Dim#set:height - local.get $291 + local.get $284 i32.const 120 call $std/array/Dim#set:width - local.get $291 + local.get $284 call $~lib/array/Array#__uset - local.get $283 + local.get $276 i32.const 7 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $292 + local.tee $285 i32.store $0 offset=184 - local.get $292 + local.get $285 i32.const 70 call $std/array/Dim#set:height - local.get $292 + local.get $285 i32.const 125 call $std/array/Dim#set:width - local.get $292 + local.get $285 call $~lib/array/Array#__uset - local.get $283 + local.get $276 i32.const 8 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $293 + local.tee $286 i32.store $0 offset=188 - local.get $293 + local.get $286 i32.const 70 call $std/array/Dim#set:height - local.get $293 + local.get $286 i32.const 130 call $std/array/Dim#set:width - local.get $293 + local.get $286 call $~lib/array/Array#__uset - local.get $283 + local.get $276 i32.const 9 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $294 + local.tee $287 i32.store $0 offset=192 - local.get $294 + local.get $287 i32.const 100 call $std/array/Dim#set:height - local.get $294 + local.get $287 i32.const 135 call $std/array/Dim#set:width - local.get $294 + local.get $287 call $~lib/array/Array#__uset - local.get $283 + local.get $276 i32.const 10 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $295 + local.tee $288 i32.store $0 offset=196 - local.get $295 + local.get $288 i32.const 75 call $std/array/Dim#set:height - local.get $295 + local.get $288 i32.const 140 call $std/array/Dim#set:width - local.get $295 + local.get $288 call $~lib/array/Array#__uset - local.get $283 + local.get $276 i32.const 11 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $296 + local.tee $289 i32.store $0 offset=200 - local.get $296 + local.get $289 i32.const 70 call $std/array/Dim#set:height - local.get $296 + local.get $289 i32.const 140 call $std/array/Dim#set:width - local.get $296 + local.get $289 call $~lib/array/Array#__uset - local.get $283 + local.get $276 global.set $std/array/inputStabArr global.get $~lib/memory/__stack_pointer i32.const 12 @@ -31043,194 +30708,194 @@ i32.const 23 i32.const 0 call $~lib/rt/__newArray - local.tee $297 + local.tee $290 i32.store $0 offset=204 global.get $~lib/memory/__stack_pointer - local.get $297 + local.get $290 i32.load $0 offset=4 - local.tee $298 + local.tee $291 i32.store $0 offset=208 - local.get $297 + local.get $290 i32.const 0 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $299 + local.tee $292 i32.store $0 offset=212 - local.get $299 + local.get $292 i32.const 70 call $std/array/Dim#set:height - local.get $299 + local.get $292 i32.const 95 call $std/array/Dim#set:width - local.get $299 + local.get $292 call $~lib/array/Array#__uset - local.get $297 + local.get $290 i32.const 1 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $300 + local.tee $293 i32.store $0 offset=216 - local.get $300 + local.get $293 i32.const 70 call $std/array/Dim#set:height - local.get $300 + local.get $293 i32.const 125 call $std/array/Dim#set:width - local.get $300 + local.get $293 call $~lib/array/Array#__uset - local.get $297 + local.get $290 i32.const 2 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $301 + local.tee $294 i32.store $0 offset=220 - local.get $301 + local.get $294 i32.const 70 call $std/array/Dim#set:height - local.get $301 + local.get $294 i32.const 130 call $std/array/Dim#set:width - local.get $301 + local.get $294 call $~lib/array/Array#__uset - local.get $297 + local.get $290 i32.const 3 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $302 + local.tee $295 i32.store $0 offset=224 - local.get $302 + local.get $295 i32.const 70 call $std/array/Dim#set:height - local.get $302 + local.get $295 i32.const 140 call $std/array/Dim#set:width - local.get $302 + local.get $295 call $~lib/array/Array#__uset - local.get $297 + local.get $290 i32.const 4 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $303 + local.tee $296 i32.store $0 offset=228 - local.get $303 + local.get $296 i32.const 75 call $std/array/Dim#set:height - local.get $303 + local.get $296 i32.const 140 call $std/array/Dim#set:width - local.get $303 + local.get $296 call $~lib/array/Array#__uset - local.get $297 + local.get $290 i32.const 5 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $304 + local.tee $297 i32.store $0 offset=232 - local.get $304 + local.get $297 i32.const 80 call $std/array/Dim#set:height - local.get $304 + local.get $297 i32.const 110 call $std/array/Dim#set:width - local.get $304 - call $~lib/array/Array#__uset local.get $297 + call $~lib/array/Array#__uset + local.get $290 i32.const 6 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $305 + local.tee $298 i32.store $0 offset=236 - local.get $305 + local.get $298 i32.const 90 call $std/array/Dim#set:height - local.get $305 + local.get $298 i32.const 90 call $std/array/Dim#set:width - local.get $305 + local.get $298 call $~lib/array/Array#__uset - local.get $297 + local.get $290 i32.const 7 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $306 + local.tee $299 i32.store $0 offset=240 - local.get $306 + local.get $299 i32.const 100 call $std/array/Dim#set:height - local.get $306 + local.get $299 i32.const 80 call $std/array/Dim#set:width - local.get $306 + local.get $299 call $~lib/array/Array#__uset - local.get $297 + local.get $290 i32.const 8 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $307 + local.tee $300 i32.store $0 offset=244 - local.get $307 + local.get $300 i32.const 100 call $std/array/Dim#set:height - local.get $307 + local.get $300 i32.const 100 call $std/array/Dim#set:width - local.get $307 + local.get $300 call $~lib/array/Array#__uset - local.get $297 + local.get $290 i32.const 9 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $308 + local.tee $301 i32.store $0 offset=248 - local.get $308 + local.get $301 i32.const 100 call $std/array/Dim#set:height - local.get $308 + local.get $301 i32.const 120 call $std/array/Dim#set:width - local.get $308 + local.get $301 call $~lib/array/Array#__uset - local.get $297 + local.get $290 i32.const 10 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $309 + local.tee $302 i32.store $0 offset=252 - local.get $309 + local.get $302 i32.const 100 call $std/array/Dim#set:height - local.get $309 + local.get $302 i32.const 135 call $std/array/Dim#set:width - local.get $309 + local.get $302 call $~lib/array/Array#__uset - local.get $297 + local.get $290 i32.const 11 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $310 + local.tee $303 i32.store $0 offset=256 - local.get $310 + local.get $303 i32.const 110 call $std/array/Dim#set:height - local.get $310 + local.get $303 i32.const 115 call $std/array/Dim#set:width - local.get $310 + local.get $303 call $~lib/array/Array#__uset - local.get $297 + local.get $290 global.set $std/array/outputStabArr global.get $~lib/memory/__stack_pointer i32.const 3 @@ -31238,25 +30903,25 @@ i32.const 9 i32.const 9136 call $~lib/rt/__newArray - local.tee $313 + local.tee $306 i32.store $0 offset=260 - local.get $313 + local.get $306 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop - local.get $313 + local.get $306 i32.const 3 i32.const 2 i32.const 9 i32.const 9200 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -31274,25 +30939,25 @@ i32.const 9 i32.const 9232 call $~lib/rt/__newArray - local.tee $318 + local.tee $311 i32.store $0 offset=264 - local.get $318 + local.get $311 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop - local.get $318 + local.get $311 i32.const 8 i32.const 2 i32.const 9 i32.const 9296 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -31310,25 +30975,25 @@ i32.const 12 i32.const 9360 call $~lib/rt/__newArray - local.tee $323 + local.tee $316 i32.store $0 offset=268 - local.get $323 + local.get $316 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop - local.get $323 + local.get $316 i32.const 8 i32.const 3 i32.const 12 i32.const 9488 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -31346,25 +31011,25 @@ i32.const 4 i32.const 9584 call $~lib/rt/__newArray - local.tee $328 + local.tee $321 i32.store $0 offset=272 - local.get $328 + local.get $321 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop - local.get $328 + local.get $321 i32.const 5 i32.const 2 i32.const 4 i32.const 9664 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -31382,25 +31047,25 @@ i32.const 8 i32.const 9712 call $~lib/rt/__newArray - local.tee $333 + local.tee $326 i32.store $0 offset=276 - local.get $333 + local.get $326 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop - local.get $333 + local.get $326 i32.const 5 i32.const 2 i32.const 8 i32.const 9792 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -31418,7 +31083,7 @@ i32.const 4 i32.const 9840 call $~lib/rt/__newArray - local.tee $338 + local.tee $331 i32.store $0 offset=280 global.get $~lib/memory/__stack_pointer i32.const 1 @@ -31426,7 +31091,7 @@ i32.const 4 i32.const 9872 call $~lib/rt/__newArray - local.tee $341 + local.tee $334 i32.store $0 offset=284 global.get $~lib/memory/__stack_pointer i32.const 2 @@ -31434,7 +31099,7 @@ i32.const 4 i32.const 9904 call $~lib/rt/__newArray - local.tee $344 + local.tee $337 i32.store $0 offset=288 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -31442,7 +31107,7 @@ i32.const 4 i32.const 9936 call $~lib/rt/__newArray - local.tee $347 + local.tee $340 i32.store $0 offset=292 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -31450,48 +31115,48 @@ i32.const 4 i32.const 9984 call $~lib/rt/__newArray - local.tee $350 + local.tee $343 i32.store $0 offset=296 global.get $~lib/memory/__stack_pointer i32.const 64 call $std/array/createReverseOrderedArray - local.tee $351 + local.tee $344 i32.store $0 offset=300 global.get $~lib/memory/__stack_pointer i32.const 128 call $std/array/createReverseOrderedArray - local.tee $352 + local.tee $345 i32.store $0 offset=304 global.get $~lib/memory/__stack_pointer i32.const 1024 call $std/array/createReverseOrderedArray - local.tee $353 + local.tee $346 i32.store $0 offset=308 global.get $~lib/memory/__stack_pointer i32.const 10000 call $std/array/createReverseOrderedArray - local.tee $354 + local.tee $347 i32.store $0 offset=312 global.get $~lib/memory/__stack_pointer i32.const 512 call $std/array/createRandomOrderedArray - local.tee $355 + local.tee $348 i32.store $0 offset=316 - local.get $338 + local.get $331 call $std/array/assertSortedDefault - local.get $341 + local.get $334 call $std/array/assertSortedDefault - local.get $341 + local.get $334 i32.const 1 i32.const 2 i32.const 4 i32.const 10064 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -31503,19 +31168,19 @@ call $~lib/builtins/abort unreachable end - local.get $344 + local.get $337 call $std/array/assertSortedDefault - local.get $344 + local.get $337 i32.const 2 i32.const 2 i32.const 4 i32.const 10096 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -31527,10 +31192,10 @@ call $~lib/builtins/abort unreachable end - local.get $347 + local.get $340 call $std/array/assertSortedDefault - local.get $347 - local.get $350 + local.get $340 + local.get $343 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -31542,10 +31207,10 @@ call $~lib/builtins/abort unreachable end - local.get $351 + local.get $344 call $std/array/assertSortedDefault - local.get $351 - local.get $350 + local.get $344 + local.get $343 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -31557,10 +31222,10 @@ call $~lib/builtins/abort unreachable end - local.get $352 + local.get $345 call $std/array/assertSortedDefault - local.get $352 - local.get $350 + local.get $345 + local.get $343 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -31572,10 +31237,10 @@ call $~lib/builtins/abort unreachable end - local.get $353 + local.get $346 call $std/array/assertSortedDefault - local.get $353 - local.get $350 + local.get $346 + local.get $343 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -31587,10 +31252,10 @@ call $~lib/builtins/abort unreachable end - local.get $354 + local.get $347 call $std/array/assertSortedDefault - local.get $354 - local.get $350 + local.get $347 + local.get $343 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -31602,76 +31267,76 @@ call $~lib/builtins/abort unreachable end - local.get $355 + local.get $348 call $std/array/assertSortedDefault call $std/array/assertStableSortedForComplexObjects global.get $~lib/memory/__stack_pointer i32.const 64 call $std/array/createRandomOrderedArray - local.tee $360 + local.tee $353 i32.store $0 offset=320 global.get $~lib/memory/__stack_pointer i32.const 257 call $std/array/createRandomOrderedArray - local.tee $361 + local.tee $354 i32.store $0 offset=324 - local.get $360 + local.get $353 i32.const 10160 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $std/array/assertSorted - local.get $360 + local.get $353 i32.const 10192 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $std/array/assertSorted - local.get $361 + local.get $354 i32.const 10224 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $std/array/assertSorted - local.get $361 + local.get $354 i32.const 10256 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer i32.const 2 call $std/array/createReverseOrderedNestedArray - local.tee $362 + local.tee $355 i32.store $0 offset=328 - local.get $362 + local.get $355 i32.const 10288 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer i32.const 512 call $std/array/createReverseOrderedElementsArray - local.tee $363 + local.tee $356 i32.store $0 offset=332 - local.get $363 + local.get $356 i32.const 10320 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $std/array/assertSorted> global.get $~lib/memory/__stack_pointer i32.const 7 @@ -31679,7 +31344,7 @@ i32.const 34 i32.const 10512 call $~lib/rt/__newArray - local.tee $366 + local.tee $359 i32.store $0 offset=336 global.get $~lib/memory/__stack_pointer i32.const 7 @@ -31687,15 +31352,15 @@ i32.const 34 i32.const 10560 call $~lib/rt/__newArray - local.tee $369 + local.tee $362 i32.store $0 offset=340 - local.get $366 + local.get $359 i32.const 1 global.set $~argumentsLength i32.const 0 call $std/array/assertSorted<~lib/string/String|null>@varargs - local.get $366 - local.get $369 + local.get $359 + local.get $362 i32.const 0 call $std/array/isArraysEqual<~lib/string/String|null> i32.eqz @@ -31710,9 +31375,9 @@ global.get $~lib/memory/__stack_pointer i32.const 400 call $std/array/createRandomStringArray - local.tee $370 + local.tee $363 i32.store $0 offset=344 - local.get $370 + local.get $363 i32.const 1 global.set $~argumentsLength i32.const 0 @@ -31722,29 +31387,29 @@ i32.const 37 i32.const 10672 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 i32.const 10768 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=352 - local.get $487 + local.get $478 call $~lib/array/Array#join - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 10800 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -31760,29 +31425,29 @@ i32.const 4 i32.const 10848 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 i32.const 10480 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=352 - local.get $487 + local.get $478 call $~lib/array/Array#join - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 10880 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -31798,29 +31463,29 @@ i32.const 8 i32.const 10912 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 i32.const 10944 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=352 - local.get $487 + local.get $478 call $~lib/array/Array#join - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 10880 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -31836,29 +31501,29 @@ i32.const 4 i32.const 10976 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 i32.const 11008 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=352 - local.get $487 + local.get $478 call $~lib/array/Array#join - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 11040 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -31874,29 +31539,29 @@ i32.const 12 i32.const 11120 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 i32.const 11200 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=352 - local.get $487 + local.get $478 call $~lib/array/Array#join - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 12368 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -31912,29 +31577,29 @@ i32.const 34 i32.const 12512 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 i32.const 10480 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=352 - local.get $487 + local.get $478 call $~lib/array/Array<~lib/string/String|null>#join - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 12480 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -31952,51 +31617,51 @@ i32.const 13 i32.const 0 call $~lib/rt/__newArray - local.tee $383 + local.tee $376 i32.store $0 offset=356 global.get $~lib/memory/__stack_pointer - local.get $383 + local.get $376 i32.load $0 offset=4 - local.tee $384 + local.tee $377 i32.store $0 offset=360 - local.get $383 + local.get $376 i32.const 0 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $383 + local.get $376 i32.const 1 i32.const 0 call $~lib/array/Array#__uset - local.get $383 + local.get $376 i32.const 2 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $383 - local.tee $385 + local.get $376 + local.tee $378 i32.store $0 offset=364 - local.get $385 + local.get $378 i32.const 10768 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=352 - local.get $487 + local.get $478 call $~lib/array/Array#join - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 12608 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32014,47 +31679,47 @@ i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $386 + local.tee $379 i32.store $0 offset=368 global.get $~lib/memory/__stack_pointer - local.get $386 + local.get $379 i32.load $0 offset=4 - local.tee $387 + local.tee $380 i32.store $0 offset=372 - local.get $386 + local.get $379 i32.const 0 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $386 + local.get $379 i32.const 1 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__uset - local.get $386 - local.tee $388 + local.get $379 + local.tee $381 i32.store $0 offset=376 - local.get $388 + local.get $381 i32.const 10768 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=352 - local.get $487 + local.get $478 call $~lib/array/Array#join - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 12704 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32071,7 +31736,7 @@ i32.const 4 i32.const 12800 call $~lib/rt/__newArray - local.tee $391 + local.tee $384 i32.store $0 offset=380 global.get $~lib/memory/__stack_pointer i32.const 1 @@ -32079,7 +31744,7 @@ i32.const 4 i32.const 12832 call $~lib/rt/__newArray - local.tee $394 + local.tee $387 i32.store $0 offset=384 global.get $~lib/memory/__stack_pointer i32.const 2 @@ -32087,7 +31752,7 @@ i32.const 4 i32.const 12864 call $~lib/rt/__newArray - local.tee $397 + local.tee $390 i32.store $0 offset=388 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -32095,21 +31760,21 @@ i32.const 4 i32.const 12896 call $~lib/rt/__newArray - local.tee $400 + local.tee $393 i32.store $0 offset=392 - local.get $391 + local.get $384 call $~lib/array/Array#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 10480 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32120,19 +31785,19 @@ call $~lib/builtins/abort unreachable end - local.get $394 + local.get $387 call $~lib/array/Array#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 12480 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32143,19 +31808,19 @@ call $~lib/builtins/abort unreachable end - local.get $397 + local.get $390 call $~lib/array/Array#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 12944 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32166,19 +31831,19 @@ call $~lib/builtins/abort unreachable end - local.get $400 + local.get $393 call $~lib/array/Array#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 12976 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32194,23 +31859,23 @@ i32.const 38 i32.const 13024 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 call $~lib/array/Array#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 13056 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32226,23 +31891,23 @@ i32.const 38 i32.const 13088 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 call $~lib/array/Array#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 13120 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32258,23 +31923,23 @@ i32.const 11 i32.const 13168 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 call $~lib/array/Array#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 13200 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32290,23 +31955,23 @@ i32.const 39 i32.const 13248 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 call $~lib/array/Array#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 13280 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32322,23 +31987,23 @@ i32.const 4 i32.const 13328 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 call $~lib/array/Array#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 13360 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32354,23 +32019,23 @@ i32.const 40 i32.const 13424 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 call $~lib/array/Array#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 13472 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32386,23 +32051,23 @@ i32.const 41 i32.const 13552 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 call $~lib/array/Array#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 13616 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32419,21 +32084,21 @@ i32.const 34 i32.const 13776 call $~lib/rt/__newArray - local.tee $417 + local.tee $410 i32.store $0 offset=396 - local.get $417 + local.get $410 call $~lib/array/Array<~lib/string/String|null>#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 13824 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32449,23 +32114,23 @@ i32.const 34 i32.const 13936 call $~lib/rt/__newArray - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 call $~lib/array/Array<~lib/string/String|null>#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 13984 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32483,14 +32148,14 @@ i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $420 + local.tee $413 i32.store $0 offset=400 global.get $~lib/memory/__stack_pointer - local.get $420 + local.get $413 i32.load $0 offset=4 - local.tee $421 + local.tee $414 i32.store $0 offset=404 - local.get $420 + local.get $413 i32.const 0 i32.const 2 i32.const 2 @@ -32498,7 +32163,7 @@ i32.const 14016 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset - local.get $420 + local.get $413 i32.const 1 i32.const 2 i32.const 2 @@ -32506,22 +32171,22 @@ i32.const 14048 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset - local.get $420 - local.tee $426 + local.get $413 + local.tee $419 i32.store $0 offset=408 - local.get $426 + local.get $419 call $~lib/array/Array<~lib/array/Array>#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 14080 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32539,14 +32204,14 @@ i32.const 42 i32.const 0 call $~lib/rt/__newArray - local.tee $427 + local.tee $420 i32.store $0 offset=412 global.get $~lib/memory/__stack_pointer - local.get $427 + local.get $420 i32.load $0 offset=4 - local.tee $428 + local.tee $421 i32.store $0 offset=416 - local.get $427 + local.get $420 i32.const 0 i32.const 2 i32.const 0 @@ -32554,7 +32219,7 @@ i32.const 14128 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset - local.get $427 + local.get $420 i32.const 1 i32.const 2 i32.const 0 @@ -32562,22 +32227,22 @@ i32.const 14160 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset - local.get $427 - local.tee $433 + local.get $420 + local.tee $426 i32.store $0 offset=420 - local.get $433 + local.get $426 call $~lib/array/Array<~lib/array/Array>#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 14080 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32595,14 +32260,14 @@ i32.const 44 i32.const 0 call $~lib/rt/__newArray - local.tee $434 + local.tee $427 i32.store $0 offset=424 global.get $~lib/memory/__stack_pointer - local.get $434 + local.get $427 i32.load $0 offset=4 - local.tee $435 + local.tee $428 i32.store $0 offset=428 - local.get $434 + local.get $427 i32.const 0 global.get $~lib/memory/__stack_pointer i32.const 1 @@ -32610,14 +32275,14 @@ i32.const 43 i32.const 0 call $~lib/rt/__newArray - local.tee $436 + local.tee $429 i32.store $0 offset=432 global.get $~lib/memory/__stack_pointer - local.get $436 + local.get $429 i32.load $0 offset=4 - local.tee $437 + local.tee $430 i32.store $0 offset=436 - local.get $436 + local.get $429 i32.const 0 i32.const 1 i32.const 2 @@ -32625,24 +32290,24 @@ i32.const 14192 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset - local.get $436 + local.get $429 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__uset - local.get $434 - local.tee $440 + local.get $427 + local.tee $433 i32.store $0 offset=440 - local.get $440 + local.get $433 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 i32.const 12480 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32660,14 +32325,14 @@ i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $441 + local.tee $434 i32.store $0 offset=444 global.get $~lib/memory/__stack_pointer - local.get $441 + local.get $434 i32.load $0 offset=4 - local.tee $442 + local.tee $435 i32.store $0 offset=448 - local.get $441 + local.get $434 i32.const 0 i32.const 1 i32.const 2 @@ -32675,7 +32340,7 @@ i32.const 14224 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset - local.get $441 + local.get $434 i32.const 1 i32.const 3 i32.const 2 @@ -32683,7 +32348,7 @@ i32.const 14256 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset - local.get $441 + local.get $434 i32.const 2 i32.const 3 i32.const 2 @@ -32691,7 +32356,7 @@ i32.const 14288 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset - local.get $441 + local.get $434 i32.const 3 i32.const 3 i32.const 2 @@ -32699,15 +32364,15 @@ i32.const 14320 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset - local.get $441 - local.tee $451 + local.get $434 + local.tee $444 i32.store $0 offset=452 global.get $~lib/memory/__stack_pointer - local.get $451 + local.get $444 call $~lib/array/Array<~lib/array/Array>#flat - local.tee $452 + local.tee $445 i32.store $0 offset=456 - local.get $452 + local.get $445 call $~lib/array/Array#get:length i32.const 10 i32.eq @@ -32721,18 +32386,16 @@ unreachable end i32.const 0 - local.set $453 + local.set $446 loop $for-loop|7 - local.get $453 + local.get $446 i32.const 10 i32.lt_s - local.set $454 - local.get $454 if - local.get $452 - local.get $453 + local.get $445 + local.get $446 call $~lib/array/Array#__get - local.get $453 + local.get $446 i32.eq i32.eqz if @@ -32743,10 +32406,10 @@ call $~lib/builtins/abort unreachable end - local.get $453 + local.get $446 i32.const 1 i32.add - local.set $453 + local.set $446 br $for-loop|7 end end @@ -32757,14 +32420,14 @@ i32.const 45 i32.const 0 call $~lib/rt/__newArray - local.tee $455 + local.tee $447 i32.store $0 offset=460 global.get $~lib/memory/__stack_pointer - local.get $455 + local.get $447 i32.load $0 offset=4 - local.tee $456 + local.tee $448 i32.store $0 offset=464 - local.get $455 + local.get $447 i32.const 0 i32.const 1 i32.const 2 @@ -32772,7 +32435,7 @@ i32.const 14384 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset - local.get $455 + local.get $447 i32.const 1 i32.const 3 i32.const 2 @@ -32780,7 +32443,7 @@ i32.const 14480 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset - local.get $455 + local.get $447 i32.const 2 i32.const 3 i32.const 2 @@ -32788,7 +32451,7 @@ i32.const 14608 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset - local.get $455 + local.get $447 i32.const 3 i32.const 1 i32.const 2 @@ -32796,13 +32459,13 @@ i32.const 14672 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset - local.get $455 - local.tee $465 + local.get $447 + local.tee $457 i32.store $0 offset=468 global.get $~lib/memory/__stack_pointer - local.get $465 + local.get $457 call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#flat - local.tee $466 + local.tee $458 i32.store $0 offset=472 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -32810,9 +32473,9 @@ i32.const 34 i32.const 14704 call $~lib/rt/__newArray - local.tee $469 + local.tee $461 i32.store $0 offset=476 - local.get $466 + local.get $458 call $~lib/array/Array<~lib/string/String|null>#get:length i32.const 8 i32.eq @@ -32826,31 +32489,29 @@ unreachable end i32.const 0 - local.set $470 + local.set $462 loop $for-loop|8 - local.get $470 - local.get $469 + local.get $462 + local.get $461 call $~lib/array/Array<~lib/string/String|null>#get:length i32.lt_s - local.set $471 - local.get $471 if - local.get $466 - local.get $470 + local.get $458 + local.get $462 call $~lib/array/Array<~lib/string/String|null>#__get - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 - local.get $469 - local.get $470 + local.get $478 + local.get $461 + local.get $462 call $~lib/array/Array<~lib/string/String|null>#__get - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=8 - local.get $487 + local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -32861,10 +32522,10 @@ call $~lib/builtins/abort unreachable end - local.get $470 + local.get $462 i32.const 1 i32.add - local.set $470 + local.set $462 br $for-loop|8 end end @@ -32875,14 +32536,14 @@ i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $472 + local.tee $463 i32.store $0 offset=480 global.get $~lib/memory/__stack_pointer - local.get $472 + local.get $463 i32.load $0 offset=4 - local.tee $473 + local.tee $464 i32.store $0 offset=484 - local.get $472 + local.get $463 i32.const 0 i32.const 0 i32.const 2 @@ -32890,7 +32551,7 @@ i32.const 14768 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset - local.get $472 + local.get $463 i32.const 1 i32.const 0 i32.const 2 @@ -32898,16 +32559,16 @@ i32.const 14800 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset - local.get $472 - local.tee $478 + local.get $463 + local.tee $469 i32.store $0 offset=488 - local.get $478 + local.get $469 call $~lib/array/Array<~lib/array/Array>#flat - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -32927,14 +32588,14 @@ i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $479 + local.tee $470 i32.store $0 offset=492 global.get $~lib/memory/__stack_pointer - local.get $479 + local.get $470 i32.load $0 offset=4 - local.tee $480 + local.tee $471 i32.store $0 offset=496 - local.get $479 + local.get $470 i32.const 0 i32.const 1 i32.const 2 @@ -32942,7 +32603,7 @@ i32.const 14832 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset - local.get $479 + local.get $470 i32.const 1 i32.const 1 i32.const 2 @@ -32950,27 +32611,27 @@ i32.const 14864 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset - local.get $479 - local.tee $485 + local.get $470 + local.tee $476 i32.store $0 offset=500 global.get $~lib/memory/__stack_pointer - local.get $485 + local.get $476 i32.const 14896 - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 offset=348 - local.get $487 + local.get $478 call $~lib/array/Array<~lib/array/Array>#map<~lib/array/Array> - local.set $487 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $487 + local.get $478 i32.store $0 - local.get $487 + local.get $478 call $~lib/array/Array<~lib/array/Array>#flat - local.tee $486 + local.tee $477 i32.store $0 offset=504 - local.get $486 + local.get $477 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -32983,7 +32644,7 @@ call $~lib/builtins/abort unreachable end - local.get $486 + local.get $477 i32.const 0 call $~lib/array/Array#__get i32.const 1 @@ -32997,7 +32658,7 @@ call $~lib/builtins/abort unreachable end - local.get $486 + local.get $477 i32.const 1 call $~lib/array/Array#__get i32.const 3 @@ -33011,7 +32672,7 @@ call $~lib/builtins/abort unreachable end - local.get $486 + local.get $477 i32.const 2 call $~lib/array/Array#__get i32.const 2 @@ -33025,7 +32686,7 @@ call $~lib/builtins/abort unreachable end - local.get $486 + local.get $477 i32.const 3 call $~lib/array/Array#__get i32.const 3 @@ -34241,9 +33902,8 @@ (local $i i32) (local $6 i32) (local $7 i32) - (local $8 i32) (local $result i32) - (local $10 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -34280,8 +33940,6 @@ i32.lt_s select i32.lt_s - local.set $8 - local.get $8 if global.get $~lib/memory/__stack_pointer local.get $this @@ -34321,12 +33979,12 @@ end end local.get $out - local.set $10 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $9 ) (func $~lib/array/Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $len i32) @@ -34335,9 +33993,8 @@ (local $i i32) (local $6 i32) (local $7 i32) - (local $8 i32) (local $result f32) - (local $10 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -34374,8 +34031,6 @@ i32.lt_s select i32.lt_s - local.set $8 - local.get $8 if local.get $this call $~lib/array/Array#get:dataStart @@ -34409,12 +34064,12 @@ end end local.get $out - local.set $10 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $9 ) (func $~lib/array/Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $len i32) @@ -34423,9 +34078,8 @@ (local $i i32) (local $6 i32) (local $7 i32) - (local $8 i32) (local $result i32) - (local $10 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -34462,8 +34116,6 @@ i32.lt_s select i32.lt_s - local.set $8 - local.get $8 if local.get $this call $~lib/array/Array#get:dataStart @@ -34497,12 +34149,12 @@ end end local.get $out - local.set $10 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $9 ) (func $~lib/array/Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $result i32) @@ -34510,9 +34162,8 @@ (local $len i32) (local $5 i32) (local $6 i32) - (local $7 i32) (local $value i32) - (local $9 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -34546,8 +34197,6 @@ i32.lt_s select i32.lt_s - local.set $7 - local.get $7 if local.get $this call $~lib/array/Array#get:dataStart @@ -34579,12 +34228,12 @@ end end local.get $result - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -34827,7 +34476,6 @@ (local $arr i32) (local $i i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -34848,8 +34496,6 @@ local.get $i local.get $size i32.lt_s - local.set $3 - local.get $3 if local.get $arr local.get $i @@ -34867,18 +34513,17 @@ end end local.get $arr - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $std/array/createRandomOrderedArray (type $i32_=>_i32) (param $size i32) (result i32) (local $arr i32) (local $i i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -34899,8 +34544,6 @@ local.get $i local.get $size i32.lt_s - local.set $3 - local.get $3 if local.get $arr local.get $i @@ -34918,12 +34561,12 @@ end end local.get $arr - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/array/Array#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $len i32) @@ -35225,9 +34868,8 @@ (func $std/array/createReverseOrderedNestedArray (type $i32_=>_i32) (param $size i32) (result i32) (local $arr i32) (local $i i32) - (local $3 i32) (local $inner i32) - (local $5 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -35248,8 +34890,6 @@ local.get $i local.get $size i32.lt_s - local.set $3 - local.get $3 if global.get $~lib/memory/__stack_pointer i32.const 0 @@ -35277,12 +34917,12 @@ end end local.get $arr - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 ) (func $~lib/array/Array<~lib/array/Array>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -35974,7 +35614,6 @@ (local $value i32) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35992,12 +35631,12 @@ i32.lt_s if i32.const 10480 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -36008,12 +35647,12 @@ local.get $dataStart i32.load8_u $0 select - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -36045,8 +35684,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -36134,21 +35771,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -36160,7 +35797,6 @@ (local $value|9 i32) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36178,12 +35814,12 @@ i32.lt_s if i32.const 10480 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -36201,12 +35837,12 @@ local.get $value i32.const 10 call $~lib/util/number/itoa32 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -36236,8 +35872,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -36305,21 +35939,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/number/utoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $out i32) @@ -36477,7 +36111,6 @@ (local $value|9 i32) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36495,12 +36128,12 @@ i32.lt_s if i32.const 10480 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -36518,12 +36151,12 @@ local.get $value i32.const 10 call $~lib/util/number/utoa32 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -36553,8 +36186,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -36622,21 +36253,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/number/dtoa (type $f64_=>_i32) (param $value f64) (result i32) (local $size i32) @@ -36730,7 +36361,6 @@ (local $value f64) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36748,12 +36378,12 @@ i32.lt_s if i32.const 10480 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 return end local.get $lastIndex @@ -36762,12 +36392,12 @@ local.get $dataStart f64.load $0 call $~lib/util/number/dtoa - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 return end local.get $separator @@ -36797,8 +36427,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -36866,21 +36494,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 return end local.get $result - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -36888,14 +36516,12 @@ (local $estLen i32) (local $value i32) (local $i i32) - (local $8 i32) (local $offset i32) (local $sepLen i32) (local $result i32) - (local $i|12 i32) - (local $13 i32) + (local $i|11 i32) (local $valueLen i32) - (local $15 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -36916,12 +36542,12 @@ i32.lt_s if i32.const 10480 - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $13 return end local.get $lastIndex @@ -36938,12 +36564,12 @@ else i32.const 10480 end - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $13 return end i32.const 0 @@ -36954,8 +36580,6 @@ local.get $i local.get $length i32.lt_s - local.set $8 - local.get $8 if global.get $~lib/memory/__stack_pointer local.get $dataStart @@ -37001,17 +36625,15 @@ local.tee $result i32.store $0 offset=8 i32.const 0 - local.set $i|12 + local.set $i|11 loop $for-loop|1 - local.get $i|12 + local.get $i|11 local.get $lastIndex i32.lt_s - local.set $13 - local.get $13 if global.get $~lib/memory/__stack_pointer local.get $dataStart - local.get $i|12 + local.get $i|11 i32.const 2 i32.shl i32.add @@ -37057,10 +36679,10 @@ i32.add local.set $offset end - local.get $i|12 + local.get $i|11 i32.const 1 i32.add - local.set $i|12 + local.set $i|11 br $for-loop|1 end end @@ -37090,12 +36712,12 @@ memory.copy $0 $0 end local.get $result - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $13 ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -37107,7 +36729,6 @@ (local $value|9 i32) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -37125,12 +36746,12 @@ i32.lt_s if i32.const 10480 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -37148,12 +36769,12 @@ local.get $value i32.const 10 call $~lib/util/number/itoa32 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -37183,8 +36804,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -37252,21 +36871,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -37278,7 +36897,6 @@ (local $value|9 i32) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -37296,12 +36914,12 @@ i32.lt_s if i32.const 10480 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -37319,12 +36937,12 @@ local.get $value i32.const 10 call $~lib/util/number/utoa32 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -37354,8 +36972,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -37423,21 +37039,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -37449,7 +37065,6 @@ (local $value|9 i32) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -37467,12 +37082,12 @@ i32.lt_s if i32.const 10480 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -37490,12 +37105,12 @@ local.get $value i32.const 10 call $~lib/util/number/itoa32 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -37525,8 +37140,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -37594,21 +37207,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/number/utoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) (local $out i32) @@ -37806,7 +37419,6 @@ (local $value|9 i64) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -37824,12 +37436,12 @@ i32.lt_s if i32.const 10480 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -37847,12 +37459,12 @@ local.get $value i32.const 10 call $~lib/util/number/utoa64 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -37882,8 +37494,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -37951,21 +37561,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/number/itoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) (local $sign i32) @@ -38200,7 +37810,6 @@ (local $value|9 i64) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -38218,12 +37827,12 @@ i32.lt_s if i32.const 10480 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -38243,12 +37852,12 @@ i64.extend_i32_s i32.const 10 call $~lib/util/number/itoa64 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -38278,8 +37887,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -38347,21 +37954,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -38373,7 +37980,6 @@ (local $value|9 i32) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -38391,12 +37997,12 @@ i32.lt_s if i32.const 10480 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -38414,12 +38020,12 @@ local.get $value i32.const 10 call $~lib/util/number/utoa32 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -38449,8 +38055,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -38518,38 +38122,36 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/array/Array<~lib/array/Array>#flat (type $i32_=>_i32) (param $this i32) (result i32) (local $ptr i32) (local $len i32) (local $size i32) (local $i i32) - (local $5 i32) (local $child i32) (local $byteLength i32) (local $outBuffer i32) (local $outArray i32) (local $resultOffset i32) - (local $i|11 i32) - (local $12 i32) - (local $child|13 i32) + (local $i|10 i32) + (local $child|11 i32) (local $childDataLength i32) - (local $15 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -38575,8 +38177,6 @@ local.get $i local.get $len i32.lt_s - local.set $5 - local.get $5 if local.get $ptr local.get $i @@ -38639,28 +38239,26 @@ i32.const 0 local.set $resultOffset i32.const 0 - local.set $i|11 + local.set $i|10 loop $for-loop|1 - local.get $i|11 + local.get $i|10 local.get $len i32.lt_s - local.set $12 - local.get $12 if block $for-continue|1 local.get $ptr - local.get $i|11 + local.get $i|10 i32.const 2 i32.shl i32.add i32.load $0 - local.set $child|13 - local.get $child|13 + local.set $child|11 + local.get $child|11 i32.eqz if br $for-continue|1 end - local.get $child|13 + local.get $child|11 i32.load $0 offset=12 i32.const 2 i32.shl @@ -38668,7 +38266,7 @@ local.get $outBuffer local.get $resultOffset i32.add - local.get $child|13 + local.get $child|11 i32.load $0 offset=4 local.get $childDataLength memory.copy $0 $0 @@ -38677,42 +38275,39 @@ i32.add local.set $resultOffset end - local.get $i|11 + local.get $i|10 i32.const 1 i32.add - local.set $i|11 + local.set $i|10 br $for-loop|1 end end i32.const 0 drop local.get $outArray - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $13 ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#flat (type $i32_=>_i32) (param $this i32) (result i32) (local $ptr i32) (local $len i32) (local $size i32) (local $i i32) - (local $5 i32) (local $child i32) (local $byteLength i32) (local $outBuffer i32) (local $outArray i32) (local $resultOffset i32) - (local $i|11 i32) - (local $12 i32) - (local $child|13 i32) + (local $i|10 i32) + (local $child|11 i32) (local $childDataLength i32) - (local $i|15 i32) - (local $16 i32) + (local $i|13 i32) (local $ref i32) - (local $18 i32) + (local $15 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -38738,8 +38333,6 @@ local.get $i local.get $len i32.lt_s - local.set $5 - local.get $5 if local.get $ptr local.get $i @@ -38802,28 +38395,26 @@ i32.const 0 local.set $resultOffset i32.const 0 - local.set $i|11 + local.set $i|10 loop $for-loop|1 - local.get $i|11 + local.get $i|10 local.get $len i32.lt_s - local.set $12 - local.get $12 if block $for-continue|1 local.get $ptr - local.get $i|11 + local.get $i|10 i32.const 2 i32.shl i32.add i32.load $0 - local.set $child|13 - local.get $child|13 + local.set $child|11 + local.get $child|11 i32.eqz if br $for-continue|1 end - local.get $child|13 + local.get $child|11 i32.load $0 offset=12 i32.const 2 i32.shl @@ -38831,7 +38422,7 @@ local.get $outBuffer local.get $resultOffset i32.add - local.get $child|13 + local.get $child|11 i32.load $0 offset=4 local.get $childDataLength memory.copy $0 $0 @@ -38840,26 +38431,24 @@ i32.add local.set $resultOffset end - local.get $i|11 + local.get $i|10 i32.const 1 i32.add - local.set $i|11 + local.set $i|10 br $for-loop|1 end end i32.const 1 drop i32.const 0 - local.set $i|15 + local.set $i|13 loop $for-loop|2 - local.get $i|15 + local.get $i|13 local.get $size i32.lt_s - local.set $16 - local.get $16 if local.get $outBuffer - local.get $i|15 + local.get $i|13 i32.const 2 i32.shl i32.add @@ -38869,19 +38458,19 @@ local.get $ref i32.const 1 call $~lib/rt/itcms/__link - local.get $i|15 + local.get $i|13 i32.const 1 i32.add - local.set $i|15 + local.set $i|13 br $for-loop|2 end end local.get $outArray - local.set $18 + local.set $15 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $18 + local.get $15 ) ) diff --git a/tests/compiler/std/arraybuffer.debug.wat b/tests/compiler/std/arraybuffer.debug.wat index 2ff1eed2d1..fe17ff3639 100644 --- a/tests/compiler/std/arraybuffer.debug.wat +++ b/tests/compiler/std/arraybuffer.debug.wat @@ -1159,15 +1159,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1228,17 +1226,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1250,22 +1246,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/std/dataview.debug.wat b/tests/compiler/std/dataview.debug.wat index e48552ef65..3e44564542 100644 --- a/tests/compiler/std/dataview.debug.wat +++ b/tests/compiler/std/dataview.debug.wat @@ -1165,15 +1165,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1234,17 +1232,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1256,22 +1252,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/std/date.debug.wat b/tests/compiler/std/date.debug.wat index 11e4d6e15e..8cdf850e09 100644 --- a/tests/compiler/std/date.debug.wat +++ b/tests/compiler/std/date.debug.wat @@ -1530,15 +1530,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1599,17 +1597,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1621,22 +1617,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -3737,7 +3731,6 @@ (local $7 i32) (local $8 i32) (local $searchStart i32) - (local $10 i32) local.get $search call $~lib/string/String#get:length local.set $searchLen @@ -3780,8 +3773,6 @@ local.get $searchStart local.get $len i32.le_s - local.set $10 - local.get $10 if local.get $this local.get $searchStart @@ -5414,18 +5405,17 @@ (local $result i32) (local $resultStart i32) (local $i i32) - (local $12 i32) (local $charStr i32) + (local $result|13 i32) (local $result|14 i32) - (local $result|15 i32) (local $end i32) (local $start i32) - (local $i|18 i32) + (local $i|17 i32) (local $len i32) (local $out i32) - (local $len|21 i32) - (local $out|22 i32) - (local $23 i32) + (local $len|20 i32) + (local $out|21 i32) + (local $22 i32) global.get $~lib/memory/__stack_pointer i32.const 36 i32.sub @@ -5443,12 +5433,12 @@ i32.const 6 i32.const 0 call $~lib/rt/__newArray - local.set $23 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return end local.get $separator @@ -5473,12 +5463,12 @@ local.get $this call $~lib/array/Array<~lib/string/String>#__uset local.get $3 - local.set $23 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return end local.get $this @@ -5505,12 +5495,12 @@ i32.const 6 i32.const 0 call $~lib/rt/__newArray - local.set $23 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return end local.get $length @@ -5539,8 +5529,6 @@ local.get $i local.get $length i32.lt_s - local.set $12 - local.get $12 if global.get $~lib/memory/__stack_pointer i32.const 2 @@ -5575,12 +5563,12 @@ end end local.get $result - local.set $23 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return else local.get $length @@ -5592,19 +5580,19 @@ i32.const 6 i32.const 0 call $~lib/rt/__newArray - local.tee $result|14 + local.tee $result|13 i32.store $0 offset=16 - local.get $result|14 + local.get $result|13 call $~lib/array/Array<~lib/string/String>#get:dataStart i32.const 2432 i32.store $0 - local.get $result|14 - local.set $23 + local.get $result|13 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return end end @@ -5614,14 +5602,14 @@ i32.const 6 i32.const 0 call $~lib/rt/__newArray - local.tee $result|15 + local.tee $result|14 i32.store $0 offset=20 i32.const 0 local.set $end i32.const 0 local.set $start i32.const 0 - local.set $i|18 + local.set $i|17 loop $while-continue|1 local.get $this local.get $separator @@ -5657,35 +5645,35 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $result|15 + local.get $result|14 local.get $out call $~lib/array/Array<~lib/string/String>#push drop else - local.get $result|15 + local.get $result|14 i32.const 2432 - local.set $23 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $23 + local.get $22 i32.store $0 offset=28 - local.get $23 + local.get $22 call $~lib/array/Array<~lib/string/String>#push drop end - local.get $i|18 + local.get $i|17 i32.const 1 i32.add - local.tee $i|18 + local.tee $i|17 local.get $limit i32.eq if - local.get $result|15 - local.set $23 + local.get $result|14 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return end local.get $end @@ -5698,67 +5686,67 @@ local.get $start i32.eqz if - local.get $result|15 + local.get $result|14 local.get $this call $~lib/array/Array<~lib/string/String>#push drop - local.get $result|15 - local.set $23 + local.get $result|14 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return end local.get $length local.get $start i32.sub - local.set $len|21 - local.get $len|21 + local.set $len|20 + local.get $len|20 i32.const 0 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $len|21 + local.get $len|20 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $out|22 + local.tee $out|21 i32.store $0 offset=32 - local.get $out|22 + local.get $out|21 local.get $this local.get $start i32.const 1 i32.shl i32.add - local.get $len|21 + local.get $len|20 i32.const 1 i32.shl memory.copy $0 $0 - local.get $result|15 - local.get $out|22 + local.get $result|14 + local.get $out|21 call $~lib/array/Array<~lib/string/String>#push drop else - local.get $result|15 + local.get $result|14 i32.const 2432 - local.set $23 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $23 + local.get $22 i32.store $0 offset=28 - local.get $23 + local.get $22 call $~lib/array/Array<~lib/string/String>#push drop end - local.get $result|15 - local.set $23 + local.get $result|14 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 ) (func $~lib/date/Date.fromString (type $i32_=>_i32) (param $dateTimeString i32) (result i32) (local $hour i32) @@ -9783,14 +9771,12 @@ (local $estLen i32) (local $value i32) (local $i i32) - (local $8 i32) (local $offset i32) (local $sepLen i32) (local $result i32) - (local $i|12 i32) - (local $13 i32) + (local $i|11 i32) (local $valueLen i32) - (local $15 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -9811,12 +9797,12 @@ i32.lt_s if i32.const 2432 - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $13 return end local.get $lastIndex @@ -9833,12 +9819,12 @@ else i32.const 2432 end - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $13 return end i32.const 0 @@ -9849,8 +9835,6 @@ local.get $i local.get $length i32.lt_s - local.set $8 - local.get $8 if global.get $~lib/memory/__stack_pointer local.get $dataStart @@ -9896,17 +9880,15 @@ local.tee $result i32.store $0 offset=8 i32.const 0 - local.set $i|12 + local.set $i|11 loop $for-loop|1 - local.get $i|12 + local.get $i|11 local.get $lastIndex i32.lt_s - local.set $13 - local.get $13 if global.get $~lib/memory/__stack_pointer local.get $dataStart - local.get $i|12 + local.get $i|11 i32.const 2 i32.shl i32.add @@ -9952,10 +9934,10 @@ i32.add local.set $offset end - local.get $i|12 + local.get $i|11 i32.const 1 i32.add - local.set $i|12 + local.set $i|11 br $for-loop|1 end end @@ -9985,12 +9967,12 @@ memory.copy $0 $0 end local.get $result - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $13 ) (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $len i32) diff --git a/tests/compiler/std/map.debug.wat b/tests/compiler/std/map.debug.wat index f631c1188c..3d75520569 100644 --- a/tests/compiler/std/map.debug.wat +++ b/tests/compiler/std/map.debug.wat @@ -1182,15 +1182,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1251,17 +1249,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1273,22 +1269,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -3656,21 +3650,16 @@ (func $std/map/testNumeric (type $none_=>_none) (local $map i32) (local $k i32) - (local $2 i32) - (local $k|3 i32) - (local $4 i32) + (local $k|2 i32) (local $keys i32) (local $vals i32) (local $keyMap i32) (local $valMap i32) (local $index i32) - (local $10 i32) (local $key i32) (local $value i32) - (local $k|13 i32) - (local $14 i32) - (local $k|15 i32) - (local $16 i32) + (local $k|10 i32) + (local $k|11 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -3691,8 +3680,6 @@ local.get $k i32.const 100 i32.lt_s - local.set $2 - local.get $2 if local.get $map local.get $k @@ -3763,16 +3750,14 @@ unreachable end i32.const 0 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i32.const 100 i32.lt_s - local.set $4 - local.get $4 if local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -3784,10 +3769,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 10 - local.get $k|3 + local.get $k|2 i32.add i32.eq i32.eqz @@ -3800,14 +3785,14 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 i32.const 20 - local.get $k|3 + local.get $k|2 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -3819,10 +3804,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 20 - local.get $k|3 + local.get $k|2 i32.add i32.eq i32.eqz @@ -3834,10 +3819,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i32.const 1 i32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -3881,8 +3866,6 @@ local.get $keys call $~lib/array/Array#get:length i32.lt_s - local.set $10 - local.get $10 if local.get $keys local.get $index @@ -3966,16 +3949,14 @@ unreachable end i32.const 0 - local.set $k|13 + local.set $k|10 loop $for-loop|3 - local.get $k|13 + local.get $k|10 i32.const 50 i32.lt_s - local.set $14 - local.get $14 if local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz if @@ -3987,10 +3968,10 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#get i32.const 20 - local.get $k|13 + local.get $k|10 i32.add i32.eq i32.eqz @@ -4003,11 +3984,11 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#delete drop local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz i32.eqz @@ -4019,10 +4000,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|13 + local.get $k|10 i32.const 1 i32.add - local.set $k|13 + local.set $k|10 br $for-loop|3 end end @@ -4040,16 +4021,14 @@ unreachable end i32.const 0 - local.set $k|15 + local.set $k|11 loop $for-loop|4 - local.get $k|15 + local.get $k|11 i32.const 50 i32.lt_s - local.set $16 - local.get $16 if local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -4062,14 +4041,14 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 i32.const 10 - local.get $k|15 + local.get $k|11 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz if @@ -4081,11 +4060,11 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#delete drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -4097,10 +4076,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|15 + local.get $k|11 i32.const 1 i32.add - local.set $k|15 + local.set $k|11 br $for-loop|4 end end @@ -4946,21 +4925,16 @@ (func $std/map/testNumeric (type $none_=>_none) (local $map i32) (local $k i32) - (local $2 i32) - (local $k|3 i32) - (local $4 i32) + (local $k|2 i32) (local $keys i32) (local $vals i32) (local $keyMap i32) (local $valMap i32) (local $index i32) - (local $10 i32) (local $key i32) (local $value i32) - (local $k|13 i32) - (local $14 i32) - (local $k|15 i32) - (local $16 i32) + (local $k|10 i32) + (local $k|11 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -4981,8 +4955,6 @@ local.get $k i32.const 100 i32.lt_u - local.set $2 - local.get $2 if local.get $map local.get $k @@ -5053,16 +5025,14 @@ unreachable end i32.const 0 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i32.const 100 i32.lt_u - local.set $4 - local.get $4 if local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -5074,10 +5044,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 10 - local.get $k|3 + local.get $k|2 i32.add i32.eq i32.eqz @@ -5090,14 +5060,14 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 i32.const 20 - local.get $k|3 + local.get $k|2 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -5109,10 +5079,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 20 - local.get $k|3 + local.get $k|2 i32.add i32.eq i32.eqz @@ -5124,10 +5094,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i32.const 1 i32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -5171,8 +5141,6 @@ local.get $keys call $~lib/array/Array#get:length i32.lt_s - local.set $10 - local.get $10 if local.get $keys local.get $index @@ -5256,16 +5224,14 @@ unreachable end i32.const 0 - local.set $k|13 + local.set $k|10 loop $for-loop|3 - local.get $k|13 + local.get $k|10 i32.const 50 i32.lt_u - local.set $14 - local.get $14 if local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz if @@ -5277,10 +5243,10 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#get i32.const 20 - local.get $k|13 + local.get $k|10 i32.add i32.eq i32.eqz @@ -5293,11 +5259,11 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#delete drop local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz i32.eqz @@ -5309,10 +5275,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|13 + local.get $k|10 i32.const 1 i32.add - local.set $k|13 + local.set $k|10 br $for-loop|3 end end @@ -5330,16 +5296,14 @@ unreachable end i32.const 0 - local.set $k|15 + local.set $k|11 loop $for-loop|4 - local.get $k|15 + local.get $k|11 i32.const 50 i32.lt_u - local.set $16 - local.get $16 if local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -5352,14 +5316,14 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 i32.const 10 - local.get $k|15 + local.get $k|11 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz if @@ -5371,11 +5335,11 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#delete drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -5387,10 +5351,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|15 + local.get $k|11 i32.const 1 i32.add - local.set $k|15 + local.set $k|11 br $for-loop|4 end end @@ -6231,21 +6195,16 @@ (func $std/map/testNumeric (type $none_=>_none) (local $map i32) (local $k i32) - (local $2 i32) - (local $k|3 i32) - (local $4 i32) + (local $k|2 i32) (local $keys i32) (local $vals i32) (local $keyMap i32) (local $valMap i32) (local $index i32) - (local $10 i32) (local $key i32) (local $value i32) - (local $k|13 i32) - (local $14 i32) - (local $k|15 i32) - (local $16 i32) + (local $k|10 i32) + (local $k|11 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -6266,8 +6225,6 @@ local.get $k i32.const 100 i32.lt_s - local.set $2 - local.get $2 if local.get $map local.get $k @@ -6338,16 +6295,14 @@ unreachable end i32.const 0 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i32.const 100 i32.lt_s - local.set $4 - local.get $4 if local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -6359,10 +6314,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 10 - local.get $k|3 + local.get $k|2 i32.add i32.eq i32.eqz @@ -6375,14 +6330,14 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 i32.const 20 - local.get $k|3 + local.get $k|2 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -6394,10 +6349,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 20 - local.get $k|3 + local.get $k|2 i32.add i32.eq i32.eqz @@ -6409,10 +6364,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i32.const 1 i32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -6456,8 +6411,6 @@ local.get $keys call $~lib/array/Array#get:length i32.lt_s - local.set $10 - local.get $10 if local.get $keys local.get $index @@ -6541,16 +6494,14 @@ unreachable end i32.const 0 - local.set $k|13 + local.set $k|10 loop $for-loop|3 - local.get $k|13 + local.get $k|10 i32.const 50 i32.lt_s - local.set $14 - local.get $14 if local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz if @@ -6562,10 +6513,10 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#get i32.const 20 - local.get $k|13 + local.get $k|10 i32.add i32.eq i32.eqz @@ -6578,11 +6529,11 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#delete drop local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz i32.eqz @@ -6594,10 +6545,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|13 + local.get $k|10 i32.const 1 i32.add - local.set $k|13 + local.set $k|10 br $for-loop|3 end end @@ -6615,16 +6566,14 @@ unreachable end i32.const 0 - local.set $k|15 + local.set $k|11 loop $for-loop|4 - local.get $k|15 + local.get $k|11 i32.const 50 i32.lt_s - local.set $16 - local.get $16 if local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -6637,14 +6586,14 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 i32.const 10 - local.get $k|15 + local.get $k|11 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz if @@ -6656,11 +6605,11 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#delete drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -6672,10 +6621,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|15 + local.get $k|11 i32.const 1 i32.add - local.set $k|15 + local.set $k|11 br $for-loop|4 end end @@ -7521,21 +7470,16 @@ (func $std/map/testNumeric (type $none_=>_none) (local $map i32) (local $k i32) - (local $2 i32) - (local $k|3 i32) - (local $4 i32) + (local $k|2 i32) (local $keys i32) (local $vals i32) (local $keyMap i32) (local $valMap i32) (local $index i32) - (local $10 i32) (local $key i32) (local $value i32) - (local $k|13 i32) - (local $14 i32) - (local $k|15 i32) - (local $16 i32) + (local $k|10 i32) + (local $k|11 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -7556,8 +7500,6 @@ local.get $k i32.const 100 i32.lt_u - local.set $2 - local.get $2 if local.get $map local.get $k @@ -7628,16 +7570,14 @@ unreachable end i32.const 0 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i32.const 100 i32.lt_u - local.set $4 - local.get $4 if local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -7649,10 +7589,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 10 - local.get $k|3 + local.get $k|2 i32.add i32.eq i32.eqz @@ -7665,14 +7605,14 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 i32.const 20 - local.get $k|3 + local.get $k|2 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -7684,10 +7624,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 20 - local.get $k|3 + local.get $k|2 i32.add i32.eq i32.eqz @@ -7699,10 +7639,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i32.const 1 i32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -7746,8 +7686,6 @@ local.get $keys call $~lib/array/Array#get:length i32.lt_s - local.set $10 - local.get $10 if local.get $keys local.get $index @@ -7831,16 +7769,14 @@ unreachable end i32.const 0 - local.set $k|13 + local.set $k|10 loop $for-loop|3 - local.get $k|13 + local.get $k|10 i32.const 50 i32.lt_u - local.set $14 - local.get $14 if local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz if @@ -7852,10 +7788,10 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#get i32.const 20 - local.get $k|13 + local.get $k|10 i32.add i32.eq i32.eqz @@ -7868,11 +7804,11 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#delete drop local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz i32.eqz @@ -7884,10 +7820,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|13 + local.get $k|10 i32.const 1 i32.add - local.set $k|13 + local.set $k|10 br $for-loop|3 end end @@ -7905,16 +7841,14 @@ unreachable end i32.const 0 - local.set $k|15 + local.set $k|11 loop $for-loop|4 - local.get $k|15 + local.get $k|11 i32.const 50 i32.lt_u - local.set $16 - local.get $16 if local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -7927,14 +7861,14 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 i32.const 10 - local.get $k|15 + local.get $k|11 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz if @@ -7946,11 +7880,11 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#delete drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -7962,10 +7896,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|15 + local.get $k|11 i32.const 1 i32.add - local.set $k|15 + local.set $k|11 br $for-loop|4 end end @@ -8106,21 +8040,16 @@ (func $std/map/testNumeric (type $none_=>_none) (local $map i32) (local $k i32) - (local $2 i32) - (local $k|3 i32) - (local $4 i32) + (local $k|2 i32) (local $keys i32) (local $vals i32) (local $keyMap i32) (local $valMap i32) (local $index i32) - (local $10 i32) (local $key i32) (local $value i32) - (local $k|13 i32) - (local $14 i32) - (local $k|15 i32) - (local $16 i32) + (local $k|10 i32) + (local $k|11 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -8141,8 +8070,6 @@ local.get $k i32.const 100 i32.lt_s - local.set $2 - local.get $2 if local.get $map local.get $k @@ -8213,16 +8140,14 @@ unreachable end i32.const 0 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i32.const 100 i32.lt_s - local.set $4 - local.get $4 if local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -8234,10 +8159,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 10 - local.get $k|3 + local.get $k|2 i32.add i32.eq i32.eqz @@ -8250,14 +8175,14 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 i32.const 20 - local.get $k|3 + local.get $k|2 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -8269,10 +8194,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 20 - local.get $k|3 + local.get $k|2 i32.add i32.eq i32.eqz @@ -8284,10 +8209,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i32.const 1 i32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -8331,8 +8256,6 @@ local.get $keys call $~lib/array/Array#get:length i32.lt_s - local.set $10 - local.get $10 if local.get $keys local.get $index @@ -8416,16 +8339,14 @@ unreachable end i32.const 0 - local.set $k|13 + local.set $k|10 loop $for-loop|3 - local.get $k|13 + local.get $k|10 i32.const 50 i32.lt_s - local.set $14 - local.get $14 if local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz if @@ -8437,10 +8358,10 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#get i32.const 20 - local.get $k|13 + local.get $k|10 i32.add i32.eq i32.eqz @@ -8453,11 +8374,11 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#delete drop local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz i32.eqz @@ -8469,10 +8390,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|13 + local.get $k|10 i32.const 1 i32.add - local.set $k|13 + local.set $k|10 br $for-loop|3 end end @@ -8490,16 +8411,14 @@ unreachable end i32.const 0 - local.set $k|15 + local.set $k|11 loop $for-loop|4 - local.get $k|15 + local.get $k|11 i32.const 50 i32.lt_s - local.set $16 - local.get $16 if local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -8512,14 +8431,14 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 i32.const 10 - local.get $k|15 + local.get $k|11 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz if @@ -8531,11 +8450,11 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#delete drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -8547,10 +8466,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|15 + local.get $k|11 i32.const 1 i32.add - local.set $k|15 + local.set $k|11 br $for-loop|4 end end @@ -9386,21 +9305,16 @@ (func $std/map/testNumeric (type $none_=>_none) (local $map i32) (local $k i32) - (local $2 i32) - (local $k|3 i32) - (local $4 i32) + (local $k|2 i32) (local $keys i32) (local $vals i32) (local $keyMap i32) (local $valMap i32) (local $index i32) - (local $10 i32) (local $key i32) (local $value i32) - (local $k|13 i32) - (local $14 i32) - (local $k|15 i32) - (local $16 i32) + (local $k|10 i32) + (local $k|11 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -9421,8 +9335,6 @@ local.get $k i32.const 100 i32.lt_u - local.set $2 - local.get $2 if local.get $map local.get $k @@ -9493,16 +9405,14 @@ unreachable end i32.const 0 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i32.const 100 i32.lt_u - local.set $4 - local.get $4 if local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -9514,10 +9424,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 10 - local.get $k|3 + local.get $k|2 i32.add i32.eq i32.eqz @@ -9530,14 +9440,14 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 i32.const 20 - local.get $k|3 + local.get $k|2 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -9549,10 +9459,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 20 - local.get $k|3 + local.get $k|2 i32.add i32.eq i32.eqz @@ -9564,10 +9474,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i32.const 1 i32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -9611,8 +9521,6 @@ local.get $keys call $~lib/array/Array#get:length i32.lt_s - local.set $10 - local.get $10 if local.get $keys local.get $index @@ -9696,16 +9604,14 @@ unreachable end i32.const 0 - local.set $k|13 + local.set $k|10 loop $for-loop|3 - local.get $k|13 + local.get $k|10 i32.const 50 i32.lt_u - local.set $14 - local.get $14 if local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz if @@ -9717,10 +9623,10 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#get i32.const 20 - local.get $k|13 + local.get $k|10 i32.add i32.eq i32.eqz @@ -9733,11 +9639,11 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#delete drop local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz i32.eqz @@ -9749,10 +9655,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|13 + local.get $k|10 i32.const 1 i32.add - local.set $k|13 + local.set $k|10 br $for-loop|3 end end @@ -9770,16 +9676,14 @@ unreachable end i32.const 0 - local.set $k|15 + local.set $k|11 loop $for-loop|4 - local.get $k|15 + local.get $k|11 i32.const 50 i32.lt_u - local.set $16 - local.get $16 if local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -9792,14 +9696,14 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 i32.const 10 - local.get $k|15 + local.get $k|11 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz if @@ -9811,11 +9715,11 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#delete drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -9827,10 +9731,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|15 + local.get $k|11 i32.const 1 i32.add - local.set $k|15 + local.set $k|11 br $for-loop|4 end end @@ -10683,21 +10587,16 @@ (func $std/map/testNumeric (type $none_=>_none) (local $map i32) (local $k i64) - (local $2 i32) - (local $k|3 i64) - (local $4 i32) + (local $k|2 i64) (local $keys i32) (local $vals i32) (local $keyMap i32) (local $valMap i32) (local $index i32) - (local $10 i32) (local $key i64) (local $value i32) - (local $k|13 i64) - (local $14 i32) - (local $k|15 i64) - (local $16 i32) + (local $k|10 i64) + (local $k|11 i64) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -10718,8 +10617,6 @@ local.get $k i64.const 100 i64.lt_s - local.set $2 - local.get $2 if local.get $map local.get $k @@ -10792,16 +10689,14 @@ unreachable end i64.const 0 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i64.const 100 i64.lt_s - local.set $4 - local.get $4 if local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -10813,10 +10708,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 10 - local.get $k|3 + local.get $k|2 i32.wrap_i64 i32.add i32.eq @@ -10830,15 +10725,15 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 i32.const 20 - local.get $k|3 + local.get $k|2 i32.wrap_i64 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -10850,10 +10745,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 20 - local.get $k|3 + local.get $k|2 i32.wrap_i64 i32.add i32.eq @@ -10866,10 +10761,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i64.const 1 i64.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -10913,8 +10808,6 @@ local.get $keys call $~lib/array/Array#get:length i32.lt_s - local.set $10 - local.get $10 if local.get $keys local.get $index @@ -10999,16 +10892,14 @@ unreachable end i64.const 0 - local.set $k|13 + local.set $k|10 loop $for-loop|3 - local.get $k|13 + local.get $k|10 i64.const 50 i64.lt_s - local.set $14 - local.get $14 if local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz if @@ -11020,10 +10911,10 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#get i32.const 20 - local.get $k|13 + local.get $k|10 i32.wrap_i64 i32.add i32.eq @@ -11037,11 +10928,11 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#delete drop local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz i32.eqz @@ -11053,10 +10944,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|13 + local.get $k|10 i64.const 1 i64.add - local.set $k|13 + local.set $k|10 br $for-loop|3 end end @@ -11074,16 +10965,14 @@ unreachable end i64.const 0 - local.set $k|15 + local.set $k|11 loop $for-loop|4 - local.get $k|15 + local.get $k|11 i64.const 50 i64.lt_s - local.set $16 - local.get $16 if local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -11096,15 +10985,15 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 i32.const 10 - local.get $k|15 + local.get $k|11 i32.wrap_i64 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz if @@ -11116,11 +11005,11 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#delete drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -11132,10 +11021,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|15 + local.get $k|11 i64.const 1 i64.add - local.set $k|15 + local.set $k|11 br $for-loop|4 end end @@ -11988,21 +11877,16 @@ (func $std/map/testNumeric (type $none_=>_none) (local $map i32) (local $k i64) - (local $2 i32) - (local $k|3 i64) - (local $4 i32) + (local $k|2 i64) (local $keys i32) (local $vals i32) (local $keyMap i32) (local $valMap i32) (local $index i32) - (local $10 i32) (local $key i64) (local $value i32) - (local $k|13 i64) - (local $14 i32) - (local $k|15 i64) - (local $16 i32) + (local $k|10 i64) + (local $k|11 i64) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -12023,8 +11907,6 @@ local.get $k i64.const 100 i64.lt_u - local.set $2 - local.get $2 if local.get $map local.get $k @@ -12097,16 +11979,14 @@ unreachable end i64.const 0 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i64.const 100 i64.lt_u - local.set $4 - local.get $4 if local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -12118,10 +11998,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 10 - local.get $k|3 + local.get $k|2 i32.wrap_i64 i32.add i32.eq @@ -12135,15 +12015,15 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 i32.const 20 - local.get $k|3 + local.get $k|2 i32.wrap_i64 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -12155,10 +12035,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 20 - local.get $k|3 + local.get $k|2 i32.wrap_i64 i32.add i32.eq @@ -12171,10 +12051,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i64.const 1 i64.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -12218,8 +12098,6 @@ local.get $keys call $~lib/array/Array#get:length i32.lt_s - local.set $10 - local.get $10 if local.get $keys local.get $index @@ -12304,16 +12182,14 @@ unreachable end i64.const 0 - local.set $k|13 + local.set $k|10 loop $for-loop|3 - local.get $k|13 + local.get $k|10 i64.const 50 i64.lt_u - local.set $14 - local.get $14 if local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz if @@ -12325,10 +12201,10 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#get i32.const 20 - local.get $k|13 + local.get $k|10 i32.wrap_i64 i32.add i32.eq @@ -12342,11 +12218,11 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#delete drop local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz i32.eqz @@ -12358,10 +12234,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|13 + local.get $k|10 i64.const 1 i64.add - local.set $k|13 + local.set $k|10 br $for-loop|3 end end @@ -12379,16 +12255,14 @@ unreachable end i64.const 0 - local.set $k|15 + local.set $k|11 loop $for-loop|4 - local.get $k|15 + local.get $k|11 i64.const 50 i64.lt_u - local.set $16 - local.get $16 if local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -12401,15 +12275,15 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 i32.const 10 - local.get $k|15 + local.get $k|11 i32.wrap_i64 i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz if @@ -12421,11 +12295,11 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#delete drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -12437,10 +12311,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|15 + local.get $k|11 i64.const 1 i64.add - local.set $k|15 + local.set $k|11 br $for-loop|4 end end @@ -13277,21 +13151,16 @@ (func $std/map/testNumeric (type $none_=>_none) (local $map i32) (local $k f32) - (local $2 i32) - (local $k|3 f32) - (local $4 i32) + (local $k|2 f32) (local $keys i32) (local $vals i32) (local $keyMap i32) (local $valMap i32) (local $index i32) - (local $10 i32) (local $key f32) (local $value i32) - (local $k|13 f32) - (local $14 i32) - (local $k|15 f32) - (local $16 i32) + (local $k|10 f32) + (local $k|11 f32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -13312,8 +13181,6 @@ local.get $k f32.const 100 f32.lt - local.set $2 - local.get $2 if local.get $map local.get $k @@ -13386,16 +13253,14 @@ unreachable end f32.const 0 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 f32.const 100 f32.lt - local.set $4 - local.get $4 if local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -13407,10 +13272,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 10 - local.get $k|3 + local.get $k|2 i32.trunc_sat_f32_s i32.add i32.eq @@ -13424,15 +13289,15 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 i32.const 20 - local.get $k|3 + local.get $k|2 i32.trunc_sat_f32_s i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -13444,10 +13309,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 20 - local.get $k|3 + local.get $k|2 i32.trunc_sat_f32_s i32.add i32.eq @@ -13460,10 +13325,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 f32.const 1 f32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -13507,8 +13372,6 @@ local.get $keys call $~lib/array/Array#get:length i32.lt_s - local.set $10 - local.get $10 if local.get $keys local.get $index @@ -13593,16 +13456,14 @@ unreachable end f32.const 0 - local.set $k|13 + local.set $k|10 loop $for-loop|3 - local.get $k|13 + local.get $k|10 f32.const 50 f32.lt - local.set $14 - local.get $14 if local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz if @@ -13614,10 +13475,10 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#get i32.const 20 - local.get $k|13 + local.get $k|10 i32.trunc_sat_f32_s i32.add i32.eq @@ -13631,11 +13492,11 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#delete drop local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz i32.eqz @@ -13647,10 +13508,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|13 + local.get $k|10 f32.const 1 f32.add - local.set $k|13 + local.set $k|10 br $for-loop|3 end end @@ -13668,16 +13529,14 @@ unreachable end f32.const 0 - local.set $k|15 + local.set $k|11 loop $for-loop|4 - local.get $k|15 + local.get $k|11 f32.const 50 f32.lt - local.set $16 - local.get $16 if local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -13690,15 +13549,15 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 i32.const 10 - local.get $k|15 + local.get $k|11 i32.trunc_sat_f32_s i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz if @@ -13710,11 +13569,11 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#delete drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -13726,10 +13585,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|15 + local.get $k|11 f32.const 1 f32.add - local.set $k|15 + local.set $k|11 br $for-loop|4 end end @@ -14583,21 +14442,16 @@ (func $std/map/testNumeric (type $none_=>_none) (local $map i32) (local $k f64) - (local $2 i32) - (local $k|3 f64) - (local $4 i32) + (local $k|2 f64) (local $keys i32) (local $vals i32) (local $keyMap i32) (local $valMap i32) (local $index i32) - (local $10 i32) (local $key f64) (local $value i32) - (local $k|13 f64) - (local $14 i32) - (local $k|15 f64) - (local $16 i32) + (local $k|10 f64) + (local $k|11 f64) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -14618,8 +14472,6 @@ local.get $k f64.const 100 f64.lt - local.set $2 - local.get $2 if local.get $map local.get $k @@ -14692,16 +14544,14 @@ unreachable end f64.const 0 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 f64.const 100 f64.lt - local.set $4 - local.get $4 if local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -14713,10 +14563,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 10 - local.get $k|3 + local.get $k|2 i32.trunc_sat_f64_s i32.add i32.eq @@ -14730,15 +14580,15 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 i32.const 20 - local.get $k|3 + local.get $k|2 i32.trunc_sat_f64_s i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#has i32.eqz if @@ -14750,10 +14600,10 @@ unreachable end local.get $map - local.get $k|3 + local.get $k|2 call $~lib/map/Map#get i32.const 20 - local.get $k|3 + local.get $k|2 i32.trunc_sat_f64_s i32.add i32.eq @@ -14766,10 +14616,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 f64.const 1 f64.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -14813,8 +14663,6 @@ local.get $keys call $~lib/array/Array#get:length i32.lt_s - local.set $10 - local.get $10 if local.get $keys local.get $index @@ -14899,16 +14747,14 @@ unreachable end f64.const 0 - local.set $k|13 + local.set $k|10 loop $for-loop|3 - local.get $k|13 + local.get $k|10 f64.const 50 f64.lt - local.set $14 - local.get $14 if local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz if @@ -14920,10 +14766,10 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#get i32.const 20 - local.get $k|13 + local.get $k|10 i32.trunc_sat_f64_s i32.add i32.eq @@ -14937,11 +14783,11 @@ unreachable end local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#delete drop local.get $map - local.get $k|13 + local.get $k|10 call $~lib/map/Map#has i32.eqz i32.eqz @@ -14953,10 +14799,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|13 + local.get $k|10 f64.const 1 f64.add - local.set $k|13 + local.set $k|10 br $for-loop|3 end end @@ -14974,16 +14820,14 @@ unreachable end f64.const 0 - local.set $k|15 + local.set $k|11 loop $for-loop|4 - local.get $k|15 + local.get $k|11 f64.const 50 f64.lt - local.set $16 - local.get $16 if local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -14996,15 +14840,15 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 i32.const 10 - local.get $k|15 + local.get $k|11 i32.trunc_sat_f64_s i32.add call $~lib/map/Map#set drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz if @@ -15016,11 +14860,11 @@ unreachable end local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#delete drop local.get $map - local.get $k|15 + local.get $k|11 call $~lib/map/Map#has i32.eqz i32.eqz @@ -15032,10 +14876,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|15 + local.get $k|11 f64.const 1 f64.add - local.set $k|15 + local.set $k|11 br $for-loop|4 end end @@ -18072,10 +17916,9 @@ (local $keys i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -18104,8 +17947,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -18121,11 +17962,11 @@ if local.get $keys local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:key call $~lib/array/Array#__uset @@ -18141,12 +17982,12 @@ local.get $length call $~lib/array/Array#set:length local.get $keys - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -18244,10 +18085,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -18276,8 +18116,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -18293,11 +18131,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:value call $~lib/array/Array#__uset @@ -18313,12 +18151,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -18776,10 +18614,9 @@ (local $keys i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -18808,8 +18645,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -18825,11 +18660,11 @@ if local.get $keys local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:key call $~lib/array/Array#__uset @@ -18845,12 +18680,12 @@ local.get $length call $~lib/array/Array#set:length local.get $keys - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -18858,10 +18693,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -18890,8 +18724,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -18907,11 +18739,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:value call $~lib/array/Array#__uset @@ -18927,12 +18759,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -19270,10 +19102,9 @@ (local $keys i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -19302,8 +19133,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -19319,11 +19148,11 @@ if local.get $keys local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:key call $~lib/array/Array#__uset @@ -19339,12 +19168,12 @@ local.get $length call $~lib/array/Array#set:length local.get $keys - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -19352,10 +19181,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -19384,8 +19212,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -19401,11 +19227,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:value call $~lib/array/Array#__uset @@ -19421,12 +19247,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -19764,10 +19590,9 @@ (local $keys i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -19796,8 +19621,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -19813,11 +19636,11 @@ if local.get $keys local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:key call $~lib/array/Array#__uset @@ -19833,12 +19656,12 @@ local.get $length call $~lib/array/Array#set:length local.get $keys - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -19846,10 +19669,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -19878,8 +19700,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -19895,11 +19715,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:value call $~lib/array/Array#__uset @@ -19915,12 +19735,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -20048,10 +19868,9 @@ (local $keys i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20080,8 +19899,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -20097,11 +19914,11 @@ if local.get $keys local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:key call $~lib/array/Array#__uset @@ -20117,12 +19934,12 @@ local.get $length call $~lib/array/Array#set:length local.get $keys - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -20130,10 +19947,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20162,8 +19978,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -20179,11 +19993,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:value call $~lib/array/Array#__uset @@ -20199,12 +20013,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -20422,10 +20236,9 @@ (local $keys i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20454,8 +20267,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -20471,11 +20282,11 @@ if local.get $keys local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:key call $~lib/array/Array#__uset @@ -20491,12 +20302,12 @@ local.get $length call $~lib/array/Array#set:length local.get $keys - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -20504,10 +20315,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20536,8 +20346,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -20553,11 +20361,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:value call $~lib/array/Array#__uset @@ -20573,12 +20381,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -20916,10 +20724,9 @@ (local $keys i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20948,8 +20755,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -20965,11 +20770,11 @@ if local.get $keys local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:key call $~lib/array/Array#__uset @@ -20985,12 +20790,12 @@ local.get $length call $~lib/array/Array#set:length local.get $keys - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -20998,10 +20803,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21030,8 +20834,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -21047,11 +20849,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:value call $~lib/array/Array#__uset @@ -21067,12 +20869,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#set (type $i32_i64_i64_=>_i32) (param $this i32) (param $key i64) (param $value i64) (result i32) (local $hashCode i32) @@ -21410,10 +21212,9 @@ (local $keys i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21442,8 +21243,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -21459,11 +21258,11 @@ if local.get $keys local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:key call $~lib/array/Array#__uset @@ -21479,12 +21278,12 @@ local.get $length call $~lib/array/Array#set:length local.get $keys - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -21492,10 +21291,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21524,8 +21322,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -21541,11 +21337,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:value call $~lib/array/Array#__uset @@ -21561,12 +21357,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#set (type $i32_i64_i64_=>_i32) (param $this i32) (param $key i64) (param $value i64) (result i32) (local $hashCode i32) @@ -21904,10 +21700,9 @@ (local $keys i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21936,8 +21731,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -21953,11 +21746,11 @@ if local.get $keys local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:key call $~lib/array/Array#__uset @@ -21973,12 +21766,12 @@ local.get $length call $~lib/array/Array#set:length local.get $keys - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -21986,10 +21779,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22018,8 +21810,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -22035,11 +21825,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:value call $~lib/array/Array#__uset @@ -22055,12 +21845,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#set (type $i32_f32_f32_=>_i32) (param $this i32) (param $key f32) (param $value f32) (result i32) (local $hashCode i32) @@ -22398,10 +22188,9 @@ (local $keys i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22430,8 +22219,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -22447,11 +22234,11 @@ if local.get $keys local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:key call $~lib/array/Array#__uset @@ -22467,12 +22254,12 @@ local.get $length call $~lib/array/Array#set:length local.get $keys - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -22480,10 +22267,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22512,8 +22298,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -22529,11 +22313,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/map/MapEntry#get:value call $~lib/array/Array#__uset @@ -22549,12 +22333,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/map/Map#set (type $i32_f64_f64_=>_i32) (param $this i32) (param $key f64) (param $value f64) (result i32) (local $hashCode i32) diff --git a/tests/compiler/std/math.debug.wat b/tests/compiler/std/math.debug.wat index b0e5cd7233..2c81721bed 100644 --- a/tests/compiler/std/math.debug.wat +++ b/tests/compiler/std/math.debug.wat @@ -16600,28 +16600,26 @@ (local $3 f64) (local $4 f64) (local $i i32) - (local $6 i32) (local $r f64) (local $value i64) - (local $i|9 i32) - (local $10 i32) - (local $r|11 f32) + (local $i|8 i32) + (local $r|9 f32) (local $x f64) + (local $x|11 f64) + (local $x|12 f64) (local $x|13 f64) (local $x|14 f64) (local $x|15 f64) (local $x|16 f64) (local $x|17 f64) - (local $x|18 f64) - (local $x|19 f64) + (local $x|18 f32) + (local $x|19 f32) (local $x|20 f32) (local $x|21 f32) (local $x|22 f32) (local $x|23 f32) (local $x|24 f32) (local $x|25 f32) - (local $x|26 f32) - (local $x|27 f32) global.get $~lib/math/NativeMath.E global.get $~lib/math/NativeMath.E f64.eq @@ -47551,8 +47549,6 @@ f64.convert_i32_s f64.const 1e6 f64.lt - local.set $6 - local.get $6 if call $~lib/math/NativeMath.random local.set $r @@ -47588,22 +47584,20 @@ local.get $value call $~lib/math/NativeMath.seedRandom i32.const 0 - local.set $i|9 + local.set $i|8 loop $for-loop|1 - local.get $i|9 + local.get $i|8 f64.convert_i32_s f64.const 1e6 f64.lt - local.set $10 - local.get $10 if call $~lib/math/NativeMathf.random - local.set $r|11 - local.get $r|11 + local.set $r|9 + local.get $r|9 f32.const 0 f32.ge if (result i32) - local.get $r|11 + local.get $r|9 f32.const 1 f32.lt else @@ -47618,10 +47612,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|9 + local.get $i|8 i32.const 1 i32.add - local.set $i|9 + local.set $i|8 br $for-loop|1 end end @@ -48718,8 +48712,8 @@ i32.eq drop f64.const -0 - local.set $x|13 - local.get $x|13 + local.set $x|11 + local.get $x|11 i64.reinterpret_f64 i64.const 63 i64.shr_u @@ -48731,8 +48725,8 @@ i32.eq drop f64.const 1 - local.set $x|14 - local.get $x|14 + local.set $x|12 + local.get $x|12 i64.reinterpret_f64 i64.const 63 i64.shr_u @@ -48744,8 +48738,8 @@ i32.eq drop f64.const -1 - local.set $x|15 - local.get $x|15 + local.set $x|13 + local.get $x|13 i64.reinterpret_f64 i64.const 63 i64.shr_u @@ -48757,8 +48751,8 @@ i32.eq drop f64.const nan:0x8000000000000 - local.set $x|16 - local.get $x|16 + local.set $x|14 + local.get $x|14 i64.reinterpret_f64 i64.const 63 i64.shr_u @@ -48771,8 +48765,8 @@ drop f64.const nan:0x8000000000000 f64.neg - local.set $x|17 - local.get $x|17 + local.set $x|15 + local.get $x|15 i64.reinterpret_f64 i64.const 63 i64.shr_u @@ -48784,8 +48778,8 @@ i32.eq drop f64.const inf - local.set $x|18 - local.get $x|18 + local.set $x|16 + local.get $x|16 i64.reinterpret_f64 i64.const 63 i64.shr_u @@ -48798,8 +48792,8 @@ drop f64.const inf f64.neg - local.set $x|19 - local.get $x|19 + local.set $x|17 + local.get $x|17 i64.reinterpret_f64 i64.const 63 i64.shr_u @@ -48811,8 +48805,8 @@ i32.eq drop f32.const 0 - local.set $x|20 - local.get $x|20 + local.set $x|18 + local.get $x|18 i32.reinterpret_f32 i32.const 31 i32.shr_u @@ -48822,8 +48816,8 @@ i32.eq drop f32.const -0 - local.set $x|21 - local.get $x|21 + local.set $x|19 + local.get $x|19 i32.reinterpret_f32 i32.const 31 i32.shr_u @@ -48833,8 +48827,8 @@ i32.eq drop f32.const 1 - local.set $x|22 - local.get $x|22 + local.set $x|20 + local.get $x|20 i32.reinterpret_f32 i32.const 31 i32.shr_u @@ -48844,8 +48838,8 @@ i32.eq drop f32.const -1 - local.set $x|23 - local.get $x|23 + local.set $x|21 + local.get $x|21 i32.reinterpret_f32 i32.const 31 i32.shr_u @@ -48855,8 +48849,8 @@ i32.eq drop f32.const nan:0x400000 - local.set $x|24 - local.get $x|24 + local.set $x|22 + local.get $x|22 i32.reinterpret_f32 i32.const 31 i32.shr_u @@ -48867,8 +48861,8 @@ drop f32.const nan:0x400000 f32.neg - local.set $x|25 - local.get $x|25 + local.set $x|23 + local.get $x|23 i32.reinterpret_f32 i32.const 31 i32.shr_u @@ -48878,8 +48872,8 @@ i32.eq drop f32.const inf - local.set $x|26 - local.get $x|26 + local.set $x|24 + local.get $x|24 i32.reinterpret_f32 i32.const 31 i32.shr_u @@ -48890,8 +48884,8 @@ drop f32.const inf f32.neg - local.set $x|27 - local.get $x|27 + local.set $x|25 + local.get $x|25 i32.reinterpret_f32 i32.const 31 i32.shr_u diff --git a/tests/compiler/std/new.debug.wat b/tests/compiler/std/new.debug.wat index b8f9984e79..878afbae69 100644 --- a/tests/compiler/std/new.debug.wat +++ b/tests/compiler/std/new.debug.wat @@ -1169,15 +1169,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1238,17 +1236,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1260,22 +1256,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/std/operator-overloading.debug.wat b/tests/compiler/std/operator-overloading.debug.wat index e8ed0253f8..5efbdb5278 100644 --- a/tests/compiler/std/operator-overloading.debug.wat +++ b/tests/compiler/std/operator-overloading.debug.wat @@ -1224,15 +1224,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1293,17 +1291,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1315,22 +1311,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/std/set.debug.wat b/tests/compiler/std/set.debug.wat index bbb40df797..f88a6597e8 100644 --- a/tests/compiler/std/set.debug.wat +++ b/tests/compiler/std/set.debug.wat @@ -1177,15 +1177,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1246,17 +1244,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1268,22 +1264,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -3010,17 +3004,12 @@ (func $std/set/testNumeric (type $none_=>_none) (local $set i32) (local $k i32) - (local $2 i32) - (local $k|3 i32) - (local $4 i32) + (local $k|2 i32) (local $vals i32) (local $valSet i32) (local $index i32) - (local $8 i32) - (local $k|9 i32) - (local $10 i32) - (local $k|11 i32) - (local $12 i32) + (local $k|6 i32) + (local $k|7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -3043,8 +3032,6 @@ local.get $k i32.const 100 i32.lt_s - local.set $2 - local.get $2 if local.get $set local.get $k @@ -3096,16 +3083,14 @@ unreachable end i32.const 50 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i32.const 100 i32.lt_s - local.set $4 - local.get $4 if local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -3117,11 +3102,11 @@ unreachable end local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#add drop local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -3132,10 +3117,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i32.const 1 i32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -3169,8 +3154,6 @@ local.get $vals call $~lib/array/Array#get:length i32.lt_s - local.set $8 - local.get $8 if local.get $set local.get $vals @@ -3214,16 +3197,14 @@ unreachable end i32.const 0 - local.set $k|9 + local.set $k|6 loop $for-loop|3 - local.get $k|9 + local.get $k|6 i32.const 50 i32.lt_s - local.set $10 - local.get $10 if local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz if @@ -3235,11 +3216,11 @@ unreachable end local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#delete drop local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz i32.eqz @@ -3251,10 +3232,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|9 + local.get $k|6 i32.const 1 i32.add - local.set $k|9 + local.set $k|6 br $for-loop|3 end end @@ -3272,16 +3253,14 @@ unreachable end i32.const 0 - local.set $k|11 + local.set $k|7 loop $for-loop|4 - local.get $k|11 + local.get $k|7 i32.const 50 i32.lt_s - local.set $12 - local.get $12 if local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -3294,11 +3273,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#add drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz if @@ -3310,11 +3289,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#delete drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -3326,10 +3305,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|11 + local.get $k|7 i32.const 1 i32.add - local.set $k|11 + local.set $k|7 br $for-loop|4 end end @@ -3952,17 +3931,12 @@ (func $std/set/testNumeric (type $none_=>_none) (local $set i32) (local $k i32) - (local $2 i32) - (local $k|3 i32) - (local $4 i32) + (local $k|2 i32) (local $vals i32) (local $valSet i32) (local $index i32) - (local $8 i32) - (local $k|9 i32) - (local $10 i32) - (local $k|11 i32) - (local $12 i32) + (local $k|6 i32) + (local $k|7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -3985,8 +3959,6 @@ local.get $k i32.const 100 i32.lt_u - local.set $2 - local.get $2 if local.get $set local.get $k @@ -4038,16 +4010,14 @@ unreachable end i32.const 50 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i32.const 100 i32.lt_u - local.set $4 - local.get $4 if local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -4059,11 +4029,11 @@ unreachable end local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#add drop local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -4074,10 +4044,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i32.const 1 i32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -4111,8 +4081,6 @@ local.get $vals call $~lib/array/Array#get:length i32.lt_s - local.set $8 - local.get $8 if local.get $set local.get $vals @@ -4156,16 +4124,14 @@ unreachable end i32.const 0 - local.set $k|9 + local.set $k|6 loop $for-loop|3 - local.get $k|9 + local.get $k|6 i32.const 50 i32.lt_u - local.set $10 - local.get $10 if local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz if @@ -4177,11 +4143,11 @@ unreachable end local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#delete drop local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz i32.eqz @@ -4193,10 +4159,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|9 + local.get $k|6 i32.const 1 i32.add - local.set $k|9 + local.set $k|6 br $for-loop|3 end end @@ -4214,16 +4180,14 @@ unreachable end i32.const 0 - local.set $k|11 + local.set $k|7 loop $for-loop|4 - local.get $k|11 + local.get $k|7 i32.const 50 i32.lt_u - local.set $12 - local.get $12 if local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -4236,11 +4200,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#add drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz if @@ -4252,11 +4216,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#delete drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -4268,10 +4232,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|11 + local.get $k|7 i32.const 1 i32.add - local.set $k|11 + local.set $k|7 br $for-loop|4 end end @@ -4891,17 +4855,12 @@ (func $std/set/testNumeric (type $none_=>_none) (local $set i32) (local $k i32) - (local $2 i32) - (local $k|3 i32) - (local $4 i32) + (local $k|2 i32) (local $vals i32) (local $valSet i32) (local $index i32) - (local $8 i32) - (local $k|9 i32) - (local $10 i32) - (local $k|11 i32) - (local $12 i32) + (local $k|6 i32) + (local $k|7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -4924,8 +4883,6 @@ local.get $k i32.const 100 i32.lt_s - local.set $2 - local.get $2 if local.get $set local.get $k @@ -4977,16 +4934,14 @@ unreachable end i32.const 50 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i32.const 100 i32.lt_s - local.set $4 - local.get $4 if local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -4998,11 +4953,11 @@ unreachable end local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#add drop local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -5013,10 +4968,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i32.const 1 i32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -5050,8 +5005,6 @@ local.get $vals call $~lib/array/Array#get:length i32.lt_s - local.set $8 - local.get $8 if local.get $set local.get $vals @@ -5095,16 +5048,14 @@ unreachable end i32.const 0 - local.set $k|9 + local.set $k|6 loop $for-loop|3 - local.get $k|9 + local.get $k|6 i32.const 50 i32.lt_s - local.set $10 - local.get $10 if local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz if @@ -5116,11 +5067,11 @@ unreachable end local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#delete drop local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz i32.eqz @@ -5132,10 +5083,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|9 + local.get $k|6 i32.const 1 i32.add - local.set $k|9 + local.set $k|6 br $for-loop|3 end end @@ -5153,16 +5104,14 @@ unreachable end i32.const 0 - local.set $k|11 + local.set $k|7 loop $for-loop|4 - local.get $k|11 + local.get $k|7 i32.const 50 i32.lt_s - local.set $12 - local.get $12 if local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -5175,11 +5124,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#add drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz if @@ -5191,11 +5140,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#delete drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -5207,10 +5156,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|11 + local.get $k|7 i32.const 1 i32.add - local.set $k|11 + local.set $k|7 br $for-loop|4 end end @@ -5833,17 +5782,12 @@ (func $std/set/testNumeric (type $none_=>_none) (local $set i32) (local $k i32) - (local $2 i32) - (local $k|3 i32) - (local $4 i32) + (local $k|2 i32) (local $vals i32) (local $valSet i32) (local $index i32) - (local $8 i32) - (local $k|9 i32) - (local $10 i32) - (local $k|11 i32) - (local $12 i32) + (local $k|6 i32) + (local $k|7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -5866,8 +5810,6 @@ local.get $k i32.const 100 i32.lt_u - local.set $2 - local.get $2 if local.get $set local.get $k @@ -5919,16 +5861,14 @@ unreachable end i32.const 50 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i32.const 100 i32.lt_u - local.set $4 - local.get $4 if local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -5940,11 +5880,11 @@ unreachable end local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#add drop local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -5955,10 +5895,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i32.const 1 i32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -5992,8 +5932,6 @@ local.get $vals call $~lib/array/Array#get:length i32.lt_s - local.set $8 - local.get $8 if local.get $set local.get $vals @@ -6037,16 +5975,14 @@ unreachable end i32.const 0 - local.set $k|9 + local.set $k|6 loop $for-loop|3 - local.get $k|9 + local.get $k|6 i32.const 50 i32.lt_u - local.set $10 - local.get $10 if local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz if @@ -6058,11 +5994,11 @@ unreachable end local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#delete drop local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz i32.eqz @@ -6074,10 +6010,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|9 + local.get $k|6 i32.const 1 i32.add - local.set $k|9 + local.set $k|6 br $for-loop|3 end end @@ -6095,16 +6031,14 @@ unreachable end i32.const 0 - local.set $k|11 + local.set $k|7 loop $for-loop|4 - local.get $k|11 + local.get $k|7 i32.const 50 i32.lt_u - local.set $12 - local.get $12 if local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -6117,11 +6051,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#add drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz if @@ -6133,11 +6067,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#delete drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -6149,10 +6083,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|11 + local.get $k|7 i32.const 1 i32.add - local.set $k|11 + local.set $k|7 br $for-loop|4 end end @@ -6769,17 +6703,12 @@ (func $std/set/testNumeric (type $none_=>_none) (local $set i32) (local $k i32) - (local $2 i32) - (local $k|3 i32) - (local $4 i32) + (local $k|2 i32) (local $vals i32) (local $valSet i32) (local $index i32) - (local $8 i32) - (local $k|9 i32) - (local $10 i32) - (local $k|11 i32) - (local $12 i32) + (local $k|6 i32) + (local $k|7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -6802,8 +6731,6 @@ local.get $k i32.const 100 i32.lt_s - local.set $2 - local.get $2 if local.get $set local.get $k @@ -6855,16 +6782,14 @@ unreachable end i32.const 50 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i32.const 100 i32.lt_s - local.set $4 - local.get $4 if local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -6876,11 +6801,11 @@ unreachable end local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#add drop local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -6891,10 +6816,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i32.const 1 i32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -6928,8 +6853,6 @@ local.get $vals call $~lib/array/Array#get:length i32.lt_s - local.set $8 - local.get $8 if local.get $set local.get $vals @@ -6973,16 +6896,14 @@ unreachable end i32.const 0 - local.set $k|9 + local.set $k|6 loop $for-loop|3 - local.get $k|9 + local.get $k|6 i32.const 50 i32.lt_s - local.set $10 - local.get $10 if local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz if @@ -6994,11 +6915,11 @@ unreachable end local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#delete drop local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz i32.eqz @@ -7010,10 +6931,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|9 + local.get $k|6 i32.const 1 i32.add - local.set $k|9 + local.set $k|6 br $for-loop|3 end end @@ -7031,16 +6952,14 @@ unreachable end i32.const 0 - local.set $k|11 + local.set $k|7 loop $for-loop|4 - local.get $k|11 + local.get $k|7 i32.const 50 i32.lt_s - local.set $12 - local.get $12 if local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -7053,11 +6972,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#add drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz if @@ -7069,11 +6988,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#delete drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -7085,10 +7004,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|11 + local.get $k|7 i32.const 1 i32.add - local.set $k|11 + local.set $k|7 br $for-loop|4 end end @@ -7705,17 +7624,12 @@ (func $std/set/testNumeric (type $none_=>_none) (local $set i32) (local $k i32) - (local $2 i32) - (local $k|3 i32) - (local $4 i32) + (local $k|2 i32) (local $vals i32) (local $valSet i32) (local $index i32) - (local $8 i32) - (local $k|9 i32) - (local $10 i32) - (local $k|11 i32) - (local $12 i32) + (local $k|6 i32) + (local $k|7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -7738,8 +7652,6 @@ local.get $k i32.const 100 i32.lt_u - local.set $2 - local.get $2 if local.get $set local.get $k @@ -7791,16 +7703,14 @@ unreachable end i32.const 50 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i32.const 100 i32.lt_u - local.set $4 - local.get $4 if local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -7812,11 +7722,11 @@ unreachable end local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#add drop local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -7827,10 +7737,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i32.const 1 i32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -7864,8 +7774,6 @@ local.get $vals call $~lib/array/Array#get:length i32.lt_s - local.set $8 - local.get $8 if local.get $set local.get $vals @@ -7909,16 +7817,14 @@ unreachable end i32.const 0 - local.set $k|9 + local.set $k|6 loop $for-loop|3 - local.get $k|9 + local.get $k|6 i32.const 50 i32.lt_u - local.set $10 - local.get $10 if local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz if @@ -7930,11 +7836,11 @@ unreachable end local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#delete drop local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz i32.eqz @@ -7946,10 +7852,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|9 + local.get $k|6 i32.const 1 i32.add - local.set $k|9 + local.set $k|6 br $for-loop|3 end end @@ -7967,16 +7873,14 @@ unreachable end i32.const 0 - local.set $k|11 + local.set $k|7 loop $for-loop|4 - local.get $k|11 + local.get $k|7 i32.const 50 i32.lt_u - local.set $12 - local.get $12 if local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -7989,11 +7893,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#add drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz if @@ -8005,11 +7909,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#delete drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -8021,10 +7925,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|11 + local.get $k|7 i32.const 1 i32.add - local.set $k|11 + local.set $k|7 br $for-loop|4 end end @@ -8658,17 +8562,12 @@ (func $std/set/testNumeric (type $none_=>_none) (local $set i32) (local $k i64) - (local $2 i32) - (local $k|3 i64) - (local $4 i32) + (local $k|2 i64) (local $vals i32) (local $valSet i32) (local $index i32) - (local $8 i32) - (local $k|9 i64) - (local $10 i32) - (local $k|11 i64) - (local $12 i32) + (local $k|6 i64) + (local $k|7 i64) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -8691,8 +8590,6 @@ local.get $k i64.const 100 i64.lt_s - local.set $2 - local.get $2 if local.get $set local.get $k @@ -8744,16 +8641,14 @@ unreachable end i64.const 50 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i64.const 100 i64.lt_s - local.set $4 - local.get $4 if local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -8765,11 +8660,11 @@ unreachable end local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#add drop local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -8780,10 +8675,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i64.const 1 i64.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -8817,8 +8712,6 @@ local.get $vals call $~lib/array/Array#get:length i32.lt_s - local.set $8 - local.get $8 if local.get $set local.get $vals @@ -8862,16 +8755,14 @@ unreachable end i64.const 0 - local.set $k|9 + local.set $k|6 loop $for-loop|3 - local.get $k|9 + local.get $k|6 i64.const 50 i64.lt_s - local.set $10 - local.get $10 if local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz if @@ -8883,11 +8774,11 @@ unreachable end local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#delete drop local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz i32.eqz @@ -8899,10 +8790,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|9 + local.get $k|6 i64.const 1 i64.add - local.set $k|9 + local.set $k|6 br $for-loop|3 end end @@ -8920,16 +8811,14 @@ unreachable end i64.const 0 - local.set $k|11 + local.set $k|7 loop $for-loop|4 - local.get $k|11 + local.get $k|7 i64.const 50 i64.lt_s - local.set $12 - local.get $12 if local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -8942,11 +8831,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#add drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz if @@ -8958,11 +8847,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#delete drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -8974,10 +8863,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|11 + local.get $k|7 i64.const 1 i64.add - local.set $k|11 + local.set $k|7 br $for-loop|4 end end @@ -9611,17 +9500,12 @@ (func $std/set/testNumeric (type $none_=>_none) (local $set i32) (local $k i64) - (local $2 i32) - (local $k|3 i64) - (local $4 i32) + (local $k|2 i64) (local $vals i32) (local $valSet i32) (local $index i32) - (local $8 i32) - (local $k|9 i64) - (local $10 i32) - (local $k|11 i64) - (local $12 i32) + (local $k|6 i64) + (local $k|7 i64) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -9644,8 +9528,6 @@ local.get $k i64.const 100 i64.lt_u - local.set $2 - local.get $2 if local.get $set local.get $k @@ -9697,16 +9579,14 @@ unreachable end i64.const 50 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 i64.const 100 i64.lt_u - local.set $4 - local.get $4 if local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -9718,11 +9598,11 @@ unreachable end local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#add drop local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -9733,10 +9613,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 i64.const 1 i64.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -9770,8 +9650,6 @@ local.get $vals call $~lib/array/Array#get:length i32.lt_s - local.set $8 - local.get $8 if local.get $set local.get $vals @@ -9815,16 +9693,14 @@ unreachable end i64.const 0 - local.set $k|9 + local.set $k|6 loop $for-loop|3 - local.get $k|9 + local.get $k|6 i64.const 50 i64.lt_u - local.set $10 - local.get $10 if local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz if @@ -9836,11 +9712,11 @@ unreachable end local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#delete drop local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz i32.eqz @@ -9852,10 +9728,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|9 + local.get $k|6 i64.const 1 i64.add - local.set $k|9 + local.set $k|6 br $for-loop|3 end end @@ -9873,16 +9749,14 @@ unreachable end i64.const 0 - local.set $k|11 + local.set $k|7 loop $for-loop|4 - local.get $k|11 + local.get $k|7 i64.const 50 i64.lt_u - local.set $12 - local.get $12 if local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -9895,11 +9769,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#add drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz if @@ -9911,11 +9785,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#delete drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -9927,10 +9801,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|11 + local.get $k|7 i64.const 1 i64.add - local.set $k|11 + local.set $k|7 br $for-loop|4 end end @@ -10548,17 +10422,12 @@ (func $std/set/testNumeric (type $none_=>_none) (local $set i32) (local $k f32) - (local $2 i32) - (local $k|3 f32) - (local $4 i32) + (local $k|2 f32) (local $vals i32) (local $valSet i32) (local $index i32) - (local $8 i32) - (local $k|9 f32) - (local $10 i32) - (local $k|11 f32) - (local $12 i32) + (local $k|6 f32) + (local $k|7 f32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -10581,8 +10450,6 @@ local.get $k f32.const 100 f32.lt - local.set $2 - local.get $2 if local.get $set local.get $k @@ -10634,16 +10501,14 @@ unreachable end f32.const 50 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 f32.const 100 f32.lt - local.set $4 - local.get $4 if local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -10655,11 +10520,11 @@ unreachable end local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#add drop local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -10670,10 +10535,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 f32.const 1 f32.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -10707,8 +10572,6 @@ local.get $vals call $~lib/array/Array#get:length i32.lt_s - local.set $8 - local.get $8 if local.get $set local.get $vals @@ -10752,16 +10615,14 @@ unreachable end f32.const 0 - local.set $k|9 + local.set $k|6 loop $for-loop|3 - local.get $k|9 + local.get $k|6 f32.const 50 f32.lt - local.set $10 - local.get $10 if local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz if @@ -10773,11 +10634,11 @@ unreachable end local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#delete drop local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz i32.eqz @@ -10789,10 +10650,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|9 + local.get $k|6 f32.const 1 f32.add - local.set $k|9 + local.set $k|6 br $for-loop|3 end end @@ -10810,16 +10671,14 @@ unreachable end f32.const 0 - local.set $k|11 + local.set $k|7 loop $for-loop|4 - local.get $k|11 + local.get $k|7 f32.const 50 f32.lt - local.set $12 - local.get $12 if local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -10832,11 +10691,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#add drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz if @@ -10848,11 +10707,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#delete drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -10864,10 +10723,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|11 + local.get $k|7 f32.const 1 f32.add - local.set $k|11 + local.set $k|7 br $for-loop|4 end end @@ -11502,17 +11361,12 @@ (func $std/set/testNumeric (type $none_=>_none) (local $set i32) (local $k f64) - (local $2 i32) - (local $k|3 f64) - (local $4 i32) + (local $k|2 f64) (local $vals i32) (local $valSet i32) (local $index i32) - (local $8 i32) - (local $k|9 f64) - (local $10 i32) - (local $k|11 f64) - (local $12 i32) + (local $k|6 f64) + (local $k|7 f64) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -11535,8 +11389,6 @@ local.get $k f64.const 100 f64.lt - local.set $2 - local.get $2 if local.get $set local.get $k @@ -11588,16 +11440,14 @@ unreachable end f64.const 50 - local.set $k|3 + local.set $k|2 loop $for-loop|1 - local.get $k|3 + local.get $k|2 f64.const 100 f64.lt - local.set $4 - local.get $4 if local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -11609,11 +11459,11 @@ unreachable end local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#add drop local.get $set - local.get $k|3 + local.get $k|2 call $~lib/set/Set#has i32.eqz if @@ -11624,10 +11474,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|3 + local.get $k|2 f64.const 1 f64.add - local.set $k|3 + local.set $k|2 br $for-loop|1 end end @@ -11661,8 +11511,6 @@ local.get $vals call $~lib/array/Array#get:length i32.lt_s - local.set $8 - local.get $8 if local.get $set local.get $vals @@ -11706,16 +11554,14 @@ unreachable end f64.const 0 - local.set $k|9 + local.set $k|6 loop $for-loop|3 - local.get $k|9 + local.get $k|6 f64.const 50 f64.lt - local.set $10 - local.get $10 if local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz if @@ -11727,11 +11573,11 @@ unreachable end local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#delete drop local.get $set - local.get $k|9 + local.get $k|6 call $~lib/set/Set#has i32.eqz i32.eqz @@ -11743,10 +11589,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|9 + local.get $k|6 f64.const 1 f64.add - local.set $k|9 + local.set $k|6 br $for-loop|3 end end @@ -11764,16 +11610,14 @@ unreachable end f64.const 0 - local.set $k|11 + local.set $k|7 loop $for-loop|4 - local.get $k|11 + local.get $k|7 f64.const 50 f64.lt - local.set $12 - local.get $12 if local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -11786,11 +11630,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#add drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz if @@ -11802,11 +11646,11 @@ unreachable end local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#delete drop local.get $set - local.get $k|11 + local.get $k|7 call $~lib/set/Set#has i32.eqz i32.eqz @@ -11818,10 +11662,10 @@ call $~lib/builtins/abort unreachable end - local.get $k|11 + local.get $k|7 f64.const 1 f64.add - local.set $k|11 + local.set $k|7 br $for-loop|4 end end @@ -13880,10 +13724,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13912,8 +13755,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -13929,11 +13770,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/set/SetEntry#get:key call $~lib/array/Array#__uset @@ -13949,12 +13790,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -14052,10 +13893,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14084,8 +13924,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -14101,11 +13939,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/set/SetEntry#get:key call $~lib/array/Array#__uset @@ -14121,12 +13959,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -14224,10 +14062,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14256,8 +14093,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -14273,11 +14108,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/set/SetEntry#get:key call $~lib/array/Array#__uset @@ -14293,12 +14128,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -14396,10 +14231,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14428,8 +14262,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -14445,11 +14277,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/set/SetEntry#get:key call $~lib/array/Array#__uset @@ -14465,12 +14297,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -14568,10 +14400,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14600,8 +14431,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -14617,11 +14446,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/set/SetEntry#get:key call $~lib/array/Array#__uset @@ -14637,12 +14466,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -14740,10 +14569,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14772,8 +14600,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -14789,11 +14615,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/set/SetEntry#get:key call $~lib/array/Array#__uset @@ -14809,12 +14635,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -14912,10 +14738,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14944,8 +14769,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -14961,11 +14784,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/set/SetEntry#get:key call $~lib/array/Array#__uset @@ -14981,12 +14804,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -15084,10 +14907,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15116,8 +14938,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -15133,11 +14953,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/set/SetEntry#get:key call $~lib/array/Array#__uset @@ -15153,12 +14973,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -15256,10 +15076,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15288,8 +15107,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -15305,11 +15122,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/set/SetEntry#get:key call $~lib/array/Array#__uset @@ -15325,12 +15142,12 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -15428,10 +15245,9 @@ (local $values i32) (local $length i32) (local $i i32) - (local $6 i32) (local $entry i32) + (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15460,8 +15276,6 @@ local.get $i local.get $size i32.lt_s - local.set $6 - local.get $6 if local.get $start local.get $i @@ -15477,11 +15291,11 @@ if local.get $values local.get $length - local.tee $8 + local.tee $7 i32.const 1 i32.add local.set $length - local.get $8 + local.get $7 local.get $entry call $~lib/set/SetEntry#get:key call $~lib/array/Array#__uset @@ -15497,11 +15311,11 @@ local.get $length call $~lib/array/Array#set:length local.get $values - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 ) ) diff --git a/tests/compiler/std/static-array.debug.wat b/tests/compiler/std/static-array.debug.wat index 58117c5678..47c18ef418 100644 --- a/tests/compiler/std/static-array.debug.wat +++ b/tests/compiler/std/static-array.debug.wat @@ -1224,15 +1224,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1293,17 +1291,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1315,22 +1311,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/std/staticarray.debug.wat b/tests/compiler/std/staticarray.debug.wat index 56fc74013d..8ffe344497 100644 --- a/tests/compiler/std/staticarray.debug.wat +++ b/tests/compiler/std/staticarray.debug.wat @@ -1296,15 +1296,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1365,17 +1363,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1387,22 +1383,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -2997,7 +2991,6 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) local.get $start i32.const 0 i32.lt_s @@ -3089,8 +3082,6 @@ local.get $start local.get $end i32.lt_s - local.set $13 - local.get $13 if local.get $ptr local.get $start @@ -3359,7 +3350,6 @@ (func $~lib/staticarray/StaticArray#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) (local $i i32) (local $len i32) - (local $4 i32) i32.const 0 local.set $i local.get $this @@ -3369,8 +3359,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $this local.get $i @@ -3595,7 +3583,6 @@ (local $acc i32) (local $i i32) (local $len i32) - (local $6 i32) local.get $initialValue local.set $acc i32.const 0 @@ -3607,8 +3594,6 @@ local.get $i local.get $len i32.lt_s - local.set $6 - local.get $6 if local.get $acc local.get $this @@ -3642,7 +3627,6 @@ (func $~lib/staticarray/StaticArray#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) (local $acc i32) (local $i i32) - (local $5 i32) local.get $initialValue local.set $acc local.get $this @@ -3654,8 +3638,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $5 - local.get $5 if local.get $acc local.get $this @@ -3689,7 +3671,6 @@ (func $~lib/staticarray/StaticArray#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $i i32) (local $len i32) - (local $4 i32) i32.const 0 local.set $i local.get $this @@ -3699,8 +3680,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $this local.get $i @@ -3741,7 +3720,6 @@ (func $~lib/staticarray/StaticArray#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $i i32) (local $len i32) - (local $4 i32) i32.const 0 local.set $i local.get $this @@ -3751,8 +3729,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $this local.get $i @@ -3794,7 +3770,6 @@ (func $~lib/staticarray/StaticArray#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $i i32) (local $len i32) - (local $4 i32) i32.const 0 local.set $i local.get $this @@ -3804,8 +3779,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $this local.get $i @@ -3845,7 +3818,6 @@ ) (func $~lib/staticarray/StaticArray#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $i i32) - (local $3 i32) local.get $this call $~lib/staticarray/StaticArray#get:length i32.const 1 @@ -3855,8 +3827,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $3 - local.get $3 if local.get $this local.get $i @@ -3892,7 +3862,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -3929,8 +3898,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -4281,10 +4248,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) local.get $m @@ -4303,8 +4267,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -4335,8 +4297,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -4365,8 +4325,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -4438,27 +4396,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -4609,8 +4564,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -4650,13 +4603,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -4697,15 +4650,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -4724,16 +4677,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -4746,7 +4697,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -4760,17 +4711,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -4798,29 +4749,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -4832,10 +4781,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -5498,9 +5447,6 @@ (local $50 i32) (local $51 i32) (local $52 i32) - (local $53 i32) - (local $54 i32) - (local $55 i32) global.get $~lib/memory/__stack_pointer i32.const 96 i32.sub @@ -5511,11 +5457,11 @@ i32.const 96 memory.fill $0 global.get $std/staticarray/arr1 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 2 @@ -5530,11 +5476,11 @@ unreachable end global.get $std/staticarray/arr1 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#get:length i32.const 3 i32.eq @@ -5548,20 +5494,20 @@ unreachable end global.get $std/staticarray/arr1 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1 i32.const 4 call $~lib/staticarray/StaticArray#__set global.get $std/staticarray/arr1 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 4 @@ -5591,11 +5537,11 @@ unreachable end global.get $std/staticarray/arr2 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 2 @@ -5610,11 +5556,11 @@ unreachable end global.get $std/staticarray/arr2 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#get:length i32.const 3 i32.eq @@ -5628,20 +5574,20 @@ unreachable end global.get $std/staticarray/arr2 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1 i32.const 4 call $~lib/staticarray/StaticArray#__set global.get $std/staticarray/arr2 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 4 @@ -5675,11 +5621,11 @@ call $std/staticarray/test global.set $std/staticarray/arr3 global.get $std/staticarray/arr3 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -5694,11 +5640,11 @@ unreachable end global.get $std/staticarray/arr3 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -5713,11 +5659,11 @@ unreachable end global.get $std/staticarray/arr3 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 7 @@ -5732,11 +5678,11 @@ unreachable end global.get $std/staticarray/arr3 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#get:length i32.const 3 i32.eq @@ -5750,20 +5696,20 @@ unreachable end global.get $std/staticarray/arr3 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1 i32.const 8 call $~lib/staticarray/StaticArray#__set global.get $std/staticarray/arr3 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 8 @@ -5780,11 +5726,11 @@ call $std/staticarray/test global.set $std/staticarray/arr3 global.get $std/staticarray/arr3 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -5847,8 +5793,6 @@ local.get $3 call $~lib/staticarray/StaticArray#get:length i32.lt_s - local.set $5 - local.get $5 if local.get $3 local.get $4 @@ -5877,16 +5821,16 @@ i32.const 7 i32.const 704 call $~lib/rt/__newArray - local.tee $8 + local.tee $7 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 call $~lib/staticarray/StaticArray.fromArray - local.tee $9 + local.tee $8 i32.store $0 offset=16 - local.get $9 - call $~lib/staticarray/StaticArray#get:length local.get $8 + call $~lib/staticarray/StaticArray#get:length + local.get $7 call $~lib/array/Array#get:length i32.eq i32.eqz @@ -5899,20 +5843,18 @@ unreachable end i32.const 0 - local.set $10 + local.set $9 loop $for-loop|1 - local.get $10 - local.get $8 + local.get $9 + local.get $7 call $~lib/array/Array#get:length i32.lt_s - local.set $11 - local.get $11 if + local.get $8 local.get $9 - local.get $10 call $~lib/staticarray/StaticArray#__get - local.get $8 - local.get $10 + local.get $7 + local.get $9 call $~lib/array/Array#__get i32.eq i32.eqz @@ -5924,10 +5866,10 @@ call $~lib/builtins/abort unreachable end - local.get $10 + local.get $9 i32.const 1 i32.add - local.set $10 + local.set $9 br $for-loop|1 end end @@ -5937,15 +5879,15 @@ i32.const 7 i32.const 800 call $~lib/rt/__newArray - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray.fromArray - local.tee $9 + local.tee $8 i32.store $0 offset=16 - local.get $9 + local.get $8 call $~lib/staticarray/StaticArray#get:length i32.const 0 i32.eq @@ -5963,23 +5905,23 @@ i32.const 4 i32.const 832 call $~lib/rt/__newBuffer - local.tee $15 + local.tee $13 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer - local.get $15 + local.get $13 i32.const 4 i32.const 4 i32.const 864 call $~lib/rt/__newBuffer - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> - local.tee $17 + local.tee $15 i32.store $0 offset=28 - local.get $17 + local.get $15 call $~lib/staticarray/StaticArray#get:length i32.const 3 i32.eq @@ -5993,23 +5935,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $15 + local.get $13 i32.const 0 i32.const 4 i32.const 896 call $~lib/rt/__newBuffer - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> - local.tee $17 + local.tee $15 i32.store $0 offset=28 - local.get $17 - call $~lib/staticarray/StaticArray#get:length local.get $15 call $~lib/staticarray/StaticArray#get:length + local.get $13 + call $~lib/staticarray/StaticArray#get:length i32.eq i32.eqz if @@ -6025,18 +5967,18 @@ i32.const 8 i32.const 1104 call $~lib/rt/__newBuffer - local.tee $20 + local.tee $18 i32.store $0 offset=32 global.get $~lib/memory/__stack_pointer - local.get $20 + local.get $18 i32.const 0 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $21 + local.tee $19 i32.store $0 offset=36 - local.get $21 + local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length - local.get $20 + local.get $18 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.eq i32.eqz @@ -6049,31 +5991,29 @@ unreachable end i32.const 0 - local.set $22 + local.set $20 loop $for-loop|2 - local.get $22 local.get $20 + local.get $18 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.lt_s - local.set $23 - local.get $23 if + local.get $18 local.get $20 - local.get $22 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 - local.get $21 - local.get $22 + local.get $52 + local.get $19 + local.get $20 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -6084,21 +6024,21 @@ call $~lib/builtins/abort unreachable end - local.get $22 + local.get $20 i32.const 1 i32.add - local.set $22 + local.set $20 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $20 + local.get $18 i32.const 1 i32.const 3 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $21 + local.tee $19 i32.store $0 offset=36 - local.get $21 + local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 2 i32.eq @@ -6111,20 +6051,20 @@ call $~lib/builtins/abort unreachable end - local.get $21 + local.get $19 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 960 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -6135,20 +6075,20 @@ call $~lib/builtins/abort unreachable end - local.get $21 + local.get $19 i32.const 1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 992 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -6160,15 +6100,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $20 + local.get $18 i32.const 1 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $21 + local.tee $19 i32.store $0 offset=36 - local.get $21 + local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length - local.get $20 + local.get $18 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 1 i32.sub @@ -6183,15 +6123,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $20 + local.get $18 i32.const 0 i32.const 50 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $21 + local.tee $19 i32.store $0 offset=36 - local.get $21 + local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length - local.get $20 + local.get $18 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.eq i32.eqz @@ -6204,13 +6144,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $20 + local.get $18 i32.const 100 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $21 + local.tee $19 i32.store $0 offset=36 - local.get $21 + local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 0 i32.eq @@ -6224,13 +6164,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $20 + local.get $18 i32.const -1 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $21 + local.tee $19 i32.store $0 offset=36 - local.get $21 + local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 1 i32.eq @@ -6243,20 +6183,20 @@ call $~lib/builtins/abort unreachable end - local.get $21 + local.get $19 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1056 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -6268,13 +6208,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $20 + local.get $18 i32.const -2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $21 + local.tee $19 i32.store $0 offset=36 - local.get $21 + local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 0 i32.eq @@ -6288,13 +6228,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $20 + local.get $18 i32.const 2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $21 + local.tee $19 i32.store $0 offset=36 - local.get $21 + local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 1 i32.eq @@ -6307,20 +6247,20 @@ call $~lib/builtins/abort unreachable end - local.get $21 + local.get $19 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 992 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -6336,26 +6276,26 @@ i32.const 8 i32.const 1280 call $~lib/rt/__newBuffer - local.tee $25 + local.tee $22 i32.store $0 offset=40 global.get $~lib/memory/__stack_pointer - local.get $25 + local.get $22 i32.const 0 i32.const 2 i32.const 9 i32.const 1328 call $~lib/rt/__newArray - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> - local.tee $28 + local.tee $25 i32.store $0 offset=44 - local.get $28 - call $~lib/array/Array<~lib/string/String>#get:length local.get $25 + call $~lib/array/Array<~lib/string/String>#get:length + local.get $22 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.eq i32.eqz @@ -6370,23 +6310,23 @@ i32.const 1 drop global.get $~lib/memory/__stack_pointer - local.get $25 + local.get $22 i32.const 1 i32.const 2 i32.const 9 i32.const 1392 call $~lib/rt/__newArray - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> - local.tee $28 + local.tee $25 i32.store $0 offset=44 - local.get $28 - call $~lib/array/Array<~lib/string/String>#get:length local.get $25 + call $~lib/array/Array<~lib/string/String>#get:length + local.get $22 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 1 i32.add @@ -6407,15 +6347,15 @@ i32.const 8 i32.const 1424 call $~lib/rt/__newBuffer - local.tee $32 + local.tee $29 i32.store $0 offset=48 - local.get $32 + local.get $29 i32.const 960 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#includes i32.const 1 @@ -6429,13 +6369,13 @@ call $~lib/builtins/abort unreachable end - local.get $32 + local.get $29 i32.const 1360 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#includes i32.const 0 @@ -6449,13 +6389,13 @@ call $~lib/builtins/abort unreachable end - local.get $32 + local.get $29 i32.const 1056 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 i32.const 5 call $~lib/staticarray/StaticArray<~lib/string/String>#includes i32.const 0 @@ -6469,13 +6409,13 @@ call $~lib/builtins/abort unreachable end - local.get $32 + local.get $29 i32.const 1056 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 i32.const -1 call $~lib/staticarray/StaticArray<~lib/string/String>#includes i32.const 1 @@ -6493,11 +6433,11 @@ i32.const 10 i32.const 1472 call $~lib/rt/__newBuffer - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 f64.const nan:0x8000000000000 i32.const 0 call $~lib/staticarray/StaticArray#includes @@ -6516,11 +6456,11 @@ i32.const 11 i32.const 1504 call $~lib/rt/__newBuffer - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 f32.const nan:0x400000 i32.const 0 call $~lib/staticarray/StaticArray#includes @@ -6540,9 +6480,9 @@ i32.const 4 i32.const 1536 call $~lib/rt/__newBuffer - local.tee $36 + local.tee $33 i32.store $0 offset=52 - local.get $36 + local.get $33 i32.const 2 i32.const 0 call $~lib/staticarray/StaticArray#indexOf @@ -6557,7 +6497,7 @@ call $~lib/builtins/abort unreachable end - local.get $36 + local.get $33 i32.const 7 i32.const 0 call $~lib/staticarray/StaticArray#indexOf @@ -6572,7 +6512,7 @@ call $~lib/builtins/abort unreachable end - local.get $36 + local.get $33 i32.const 9 i32.const 2 call $~lib/staticarray/StaticArray#indexOf @@ -6587,7 +6527,7 @@ call $~lib/builtins/abort unreachable end - local.get $36 + local.get $33 i32.const 2 i32.const -1 call $~lib/staticarray/StaticArray#indexOf @@ -6602,7 +6542,7 @@ call $~lib/builtins/abort unreachable end - local.get $36 + local.get $33 i32.const 2 i32.const -3 call $~lib/staticarray/StaticArray#indexOf @@ -6622,9 +6562,9 @@ i32.const 4 i32.const 1568 call $~lib/rt/__newBuffer - local.tee $38 + local.tee $35 i32.store $0 offset=56 - local.get $38 + local.get $35 i32.const 2 i32.const 1 global.set $~argumentsLength @@ -6641,7 +6581,7 @@ call $~lib/builtins/abort unreachable end - local.get $38 + local.get $35 i32.const 7 i32.const 1 global.set $~argumentsLength @@ -6658,7 +6598,7 @@ call $~lib/builtins/abort unreachable end - local.get $38 + local.get $35 i32.const 2 i32.const 3 call $~lib/staticarray/StaticArray#lastIndexOf @@ -6673,7 +6613,7 @@ call $~lib/builtins/abort unreachable end - local.get $38 + local.get $35 i32.const 2 i32.const 2 call $~lib/staticarray/StaticArray#lastIndexOf @@ -6688,7 +6628,7 @@ call $~lib/builtins/abort unreachable end - local.get $38 + local.get $35 i32.const 2 i32.const -2 call $~lib/staticarray/StaticArray#lastIndexOf @@ -6703,7 +6643,7 @@ call $~lib/builtins/abort unreachable end - local.get $38 + local.get $35 i32.const 2 i32.const -1 call $~lib/staticarray/StaticArray#lastIndexOf @@ -6723,27 +6663,27 @@ i32.const 8 i32.const 1712 call $~lib/rt/__newBuffer - local.tee $40 + local.tee $37 i32.store $0 offset=60 - local.get $40 + local.get $37 i32.const 1776 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=64 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1808 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -6754,25 +6694,25 @@ call $~lib/builtins/abort unreachable end - local.get $40 + local.get $37 i32.const 1744 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=64 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1856 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -6783,25 +6723,25 @@ call $~lib/builtins/abort unreachable end - local.get $40 + local.get $37 i32.const 1904 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=64 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 1936 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -6812,25 +6752,25 @@ call $~lib/builtins/abort unreachable end - local.get $40 + local.get $37 i32.const 1984 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=64 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 + local.get $52 i32.const 2016 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -6841,26 +6781,26 @@ call $~lib/builtins/abort unreachable end - local.get $40 + local.get $37 i32.const 1776 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=64 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 - local.get $55 - local.get $40 + local.get $52 + local.get $37 call $~lib/staticarray/StaticArray<~lib/string/String>#toString - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -6876,15 +6816,15 @@ i32.const 4 i32.const 2080 call $~lib/rt/__newBuffer - local.tee $42 + local.tee $39 i32.store $0 offset=68 - local.get $42 + local.get $39 i32.const 1 i32.const 1 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/staticarray/StaticArray#fill drop - local.get $42 + local.get $39 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 0 @@ -6898,7 +6838,7 @@ call $~lib/builtins/abort unreachable end - local.get $42 + local.get $39 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 1 @@ -6917,12 +6857,12 @@ i32.const 4 i32.const 2112 call $~lib/rt/__newBuffer - local.tee $44 + local.tee $41 i32.store $0 offset=72 - local.get $44 + local.get $41 call $~lib/staticarray/StaticArray#reverse drop - local.get $44 + local.get $41 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 3 @@ -6936,7 +6876,7 @@ call $~lib/builtins/abort unreachable end - local.get $44 + local.get $41 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 2 @@ -6950,7 +6890,7 @@ call $~lib/builtins/abort unreachable end - local.get $44 + local.get $41 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 1 @@ -6969,15 +6909,15 @@ i32.const 4 i32.const 2144 call $~lib/rt/__newBuffer - local.tee $46 + local.tee $43 i32.store $0 offset=76 - local.get $46 + local.get $43 i32.const 0 i32.const 3 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/staticarray/StaticArray#copyWithin drop - local.get $46 + local.get $43 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 4 @@ -6991,7 +6931,7 @@ call $~lib/builtins/abort unreachable end - local.get $46 + local.get $43 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -7005,7 +6945,7 @@ call $~lib/builtins/abort unreachable end - local.get $46 + local.get $43 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 3 @@ -7019,7 +6959,7 @@ call $~lib/builtins/abort unreachable end - local.get $46 + local.get $43 i32.const 3 call $~lib/staticarray/StaticArray#__get i32.const 4 @@ -7033,7 +6973,7 @@ call $~lib/builtins/abort unreachable end - local.get $46 + local.get $43 i32.const 4 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -7052,20 +6992,20 @@ i32.const 4 i32.const 2192 call $~lib/rt/__newBuffer - local.tee $48 + local.tee $45 i32.store $0 offset=80 global.get $~lib/memory/__stack_pointer - local.get $48 + local.get $45 i32.const 2224 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#map - local.tee $49 + local.tee $46 i32.store $0 offset=84 - local.get $49 + local.get $46 i32.const 0 call $~lib/array/Array#__get i32.const 2 @@ -7079,7 +7019,7 @@ call $~lib/builtins/abort unreachable end - local.get $49 + local.get $46 i32.const 1 call $~lib/array/Array#__get i32.const 3 @@ -7093,7 +7033,7 @@ call $~lib/builtins/abort unreachable end - local.get $49 + local.get $46 i32.const 2 call $~lib/array/Array#__get i32.const 4 @@ -7107,13 +7047,13 @@ call $~lib/builtins/abort unreachable end - local.get $48 + local.get $45 i32.const 2256 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#forEach global.get $std/staticarray/maxVal i32.const 3 @@ -7128,17 +7068,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $48 + local.get $45 i32.const 2288 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#filter - local.tee $50 + local.tee $47 i32.store $0 offset=88 - local.get $50 + local.get $47 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -7151,7 +7091,7 @@ call $~lib/builtins/abort unreachable end - local.get $50 + local.get $47 i32.const 0 call $~lib/array/Array#__get i32.const 2 @@ -7165,7 +7105,7 @@ call $~lib/builtins/abort unreachable end - local.get $50 + local.get $47 i32.const 1 call $~lib/array/Array#__get i32.const 3 @@ -7179,17 +7119,17 @@ call $~lib/builtins/abort unreachable end - local.get $48 + local.get $45 i32.const 2320 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 i32.const 0 call $~lib/staticarray/StaticArray#reduce - local.set $51 - local.get $51 + local.set $48 + local.get $48 i32.const 6 i32.eq i32.eqz @@ -7201,17 +7141,17 @@ call $~lib/builtins/abort unreachable end - local.get $48 + local.get $45 i32.const 2352 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 i32.const 0 call $~lib/staticarray/StaticArray#reduceRight - local.set $52 - local.get $52 + local.set $49 + local.get $49 i32.const 6 i32.eq i32.eqz @@ -7223,13 +7163,13 @@ call $~lib/builtins/abort unreachable end - local.get $48 + local.get $45 i32.const 2384 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#some i32.eqz if @@ -7240,13 +7180,13 @@ call $~lib/builtins/abort unreachable end - local.get $48 + local.get $45 i32.const 2416 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#some i32.eqz i32.eqz @@ -7258,13 +7198,13 @@ call $~lib/builtins/abort unreachable end - local.get $48 + local.get $45 i32.const 2448 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#every i32.eqz if @@ -7275,13 +7215,13 @@ call $~lib/builtins/abort unreachable end - local.get $48 + local.get $45 i32.const 2480 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#every i32.eqz i32.eqz @@ -7293,13 +7233,13 @@ call $~lib/builtins/abort unreachable end - local.get $48 + local.get $45 i32.const 2512 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#findIndex i32.const 1 i32.eq @@ -7312,13 +7252,13 @@ call $~lib/builtins/abort unreachable end - local.get $48 + local.get $45 i32.const 2544 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#findIndex i32.const -1 i32.eq @@ -7331,13 +7271,13 @@ call $~lib/builtins/abort unreachable end - local.get $48 + local.get $45 i32.const 2576 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#findLastIndex i32.const 1 i32.eq @@ -7350,13 +7290,13 @@ call $~lib/builtins/abort unreachable end - local.get $48 + local.get $45 i32.const 2608 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $52 i32.store $0 offset=24 - local.get $55 + local.get $52 call $~lib/staticarray/StaticArray#findLastIndex i32.const -1 i32.eq @@ -7374,15 +7314,15 @@ i32.const 4 i32.const 2640 call $~lib/rt/__newBuffer - local.tee $54 + local.tee $51 i32.store $0 offset=92 - local.get $54 + local.get $51 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/staticarray/StaticArray#sort@varargs drop - local.get $54 + local.get $51 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 0 @@ -7396,7 +7336,7 @@ call $~lib/builtins/abort unreachable end - local.get $54 + local.get $51 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 1 @@ -7410,7 +7350,7 @@ call $~lib/builtins/abort unreachable end - local.get $54 + local.get $51 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 2 @@ -7424,7 +7364,7 @@ call $~lib/builtins/abort unreachable end - local.get $54 + local.get $51 i32.const 3 call $~lib/staticarray/StaticArray#__get i32.const 3 @@ -7952,13 +7892,11 @@ (local $otherStart i32) (local $thisStart i32) (local $offset i32) - (local $11 i32) (local $ref i32) (local $otherSize i32) - (local $offset|14 i32) + (local $offset|13 i32) + (local $ref|14 i32) (local $15 i32) - (local $ref|16 i32) - (local $17 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -8022,8 +7960,6 @@ local.get $offset local.get $sourceSize i32.lt_u - local.set $11 - local.get $11 if local.get $thisStart local.get $offset @@ -8055,42 +7991,40 @@ i32.shl local.set $otherSize i32.const 0 - local.set $offset|14 + local.set $offset|13 loop $for-loop|1 - local.get $offset|14 + local.get $offset|13 local.get $otherSize i32.lt_u - local.set $15 - local.get $15 if local.get $otherStart - local.get $offset|14 + local.get $offset|13 i32.add i32.load $0 - local.set $ref|16 + local.set $ref|14 local.get $outStart - local.get $offset|14 + local.get $offset|13 i32.add - local.get $ref|16 + local.get $ref|14 i32.store $0 local.get $out - local.get $ref|16 + local.get $ref|14 i32.const 1 call $~lib/rt/itcms/__link - local.get $offset|14 + local.get $offset|13 i32.const 4 i32.add - local.set $offset|14 + local.set $offset|13 br $for-loop|1 end end local.get $out - local.set $17 + local.set $15 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $17 + local.get $15 ) (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -8098,14 +8032,12 @@ (local $estLen i32) (local $value i32) (local $i i32) - (local $8 i32) (local $offset i32) (local $sepLen i32) (local $result i32) - (local $i|12 i32) - (local $13 i32) + (local $i|11 i32) (local $valueLen i32) - (local $15 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -8126,12 +8058,12 @@ i32.lt_s if i32.const 1744 - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $13 return end local.get $lastIndex @@ -8148,12 +8080,12 @@ else i32.const 1744 end - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $13 return end i32.const 0 @@ -8164,8 +8096,6 @@ local.get $i local.get $length i32.lt_s - local.set $8 - local.get $8 if global.get $~lib/memory/__stack_pointer local.get $dataStart @@ -8211,17 +8141,15 @@ local.tee $result i32.store $0 offset=8 i32.const 0 - local.set $i|12 + local.set $i|11 loop $for-loop|1 - local.get $i|12 + local.get $i|11 local.get $lastIndex i32.lt_s - local.set $13 - local.get $13 if global.get $~lib/memory/__stack_pointer local.get $dataStart - local.get $i|12 + local.get $i|11 i32.const 2 i32.shl i32.add @@ -8267,10 +8195,10 @@ i32.add local.set $offset end - local.get $i|12 + local.get $i|11 i32.const 1 i32.add - local.set $i|12 + local.set $i|11 br $for-loop|1 end end @@ -8300,21 +8228,20 @@ memory.copy $0 $0 end local.get $result - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $13 ) (func $~lib/staticarray/StaticArray#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $len i32) (local $out i32) (local $outStart i32) (local $i i32) - (local $6 i32) (local $result i32) - (local $8 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -8343,8 +8270,6 @@ local.get $i local.get $len i32.lt_s - local.set $6 - local.get $6 if local.get $this local.get $i @@ -8377,20 +8302,19 @@ end end local.get $out - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $7 ) (func $~lib/staticarray/StaticArray#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $result i32) (local $i i32) (local $len i32) - (local $5 i32) (local $value i32) - (local $7 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -8416,8 +8340,6 @@ local.get $i local.get $len i32.lt_s - local.set $5 - local.get $5 if local.get $this local.get $i @@ -8448,12 +8370,12 @@ end end local.get $result - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $6 ) (func $~lib/staticarray/StaticArray#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) (local $2 i32) diff --git a/tests/compiler/std/string-casemapping.debug.wat b/tests/compiler/std/string-casemapping.debug.wat index 2103cffce6..cf13d53e5c 100644 --- a/tests/compiler/std/string-casemapping.debug.wat +++ b/tests/compiler/std/string-casemapping.debug.wat @@ -1345,15 +1345,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1414,17 +1412,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1436,22 +1432,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -3540,10 +3534,9 @@ (local $specialsLen i32) (local $j i32) (local $i i32) - (local $7 i32) (local $c i32) + (local $c|8 i32) (local $c|9 i32) - (local $c|10 i32) (local $c1 i32) (local $c0 i32) (local $index i32) @@ -3558,7 +3551,7 @@ (local $code i32) (local $lo i32) (local $hi i32) - (local $25 i32) + (local $24 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3574,12 +3567,12 @@ i32.eqz if local.get $this - local.set $25 + local.set $24 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $25 + local.get $24 return end global.get $~lib/memory/__stack_pointer @@ -3595,11 +3588,11 @@ global.get $~lib/util/casemap/SPECIALS_UPPER local.set $specialsPtr global.get $~lib/util/casemap/SPECIALS_UPPER - local.set $25 + local.set $24 global.get $~lib/memory/__stack_pointer - local.get $25 + local.get $24 i32.store $0 offset=4 - local.get $25 + local.get $24 call $~lib/staticarray/StaticArray#get:length local.set $specialsLen i32.const 0 @@ -3610,8 +3603,6 @@ local.get $i local.get $len i32.lt_u - local.set $7 - local.get $7 if block $for-continue|0 local.get $this @@ -3622,8 +3613,8 @@ i32.load16_u $0 local.set $c local.get $c - local.set $c|9 - local.get $c|9 + local.set $c|8 + local.get $c|8 i32.const 7 i32.shr_u i32.eqz @@ -3635,13 +3626,13 @@ i32.add block $~lib/util/string/toUpper8|inlined.0 (result i32) local.get $c - local.set $c|10 + local.set $c|9 i32.const 0 i32.const 0 i32.gt_s drop i32.const 1292 - local.get $c|10 + local.get $c|9 i32.add i32.load8_u $0 br $~lib/util/string/toUpper8|inlined.0 @@ -3920,26 +3911,25 @@ i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.set $25 + local.set $24 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $25 + local.get $24 ) (func $start:std/string-casemapping (type $none_=>_none) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) + (local $4 i64) (local $5 i64) (local $6 i64) (local $7 i64) (local $8 i64) (local $9 i64) - (local $10 i64) - (local $11 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 28 i32.sub @@ -3967,23 +3957,23 @@ call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace i32.const 32 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 32 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -3995,23 +3985,23 @@ unreachable end i32.const 32 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 32 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4023,23 +4013,23 @@ unreachable end i32.const 10784 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 10832 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4051,23 +4041,23 @@ unreachable end i32.const 10880 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 10928 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4079,23 +4069,23 @@ unreachable end i32.const 10976 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 11072 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4107,23 +4097,23 @@ unreachable end i32.const 11072 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 11168 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4135,23 +4125,23 @@ unreachable end i32.const 11264 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 11328 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4163,23 +4153,23 @@ unreachable end i32.const 11328 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 11392 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4191,23 +4181,23 @@ unreachable end i32.const 11456 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 11552 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4219,23 +4209,23 @@ unreachable end i32.const 11552 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 11648 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4247,23 +4237,23 @@ unreachable end i32.const 11744 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 11840 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4275,23 +4265,23 @@ unreachable end i32.const 11840 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 11936 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4303,23 +4293,23 @@ unreachable end i32.const 12032 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 12112 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4331,23 +4321,23 @@ unreachable end i32.const 12192 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 12272 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4359,23 +4349,23 @@ unreachable end i32.const 12352 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 12416 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4387,23 +4377,23 @@ unreachable end i32.const 12480 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 12560 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4415,23 +4405,23 @@ unreachable end i32.const 12640 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 12720 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4443,23 +4433,23 @@ unreachable end i32.const 12800 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 12864 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4471,23 +4461,23 @@ unreachable end i32.const 12928 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 13008 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4499,23 +4489,23 @@ unreachable end i32.const 13088 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 13168 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4527,23 +4517,23 @@ unreachable end i32.const 13248 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 13408 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4555,23 +4545,23 @@ unreachable end i32.const 13248 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 13568 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4583,23 +4573,23 @@ unreachable end i32.const 13728 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 13760 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4611,23 +4601,23 @@ unreachable end i32.const 13792 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 13824 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4639,23 +4629,23 @@ unreachable end i32.const 13856 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 14064 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4667,29 +4657,29 @@ unreachable end i32.const 13728 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=12 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 14272 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4701,29 +4691,29 @@ unreachable end i32.const 14304 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=12 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 14336 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4735,29 +4725,29 @@ unreachable end i32.const 14368 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=12 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 14368 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4770,23 +4760,23 @@ end i32.const 65536 call $~lib/string/String.fromCodePoint - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 14624 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4799,23 +4789,23 @@ end i32.const 65536 call $~lib/string/String.fromCodePoint - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 14624 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4827,23 +4817,23 @@ unreachable end i32.const 14656 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 14688 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4855,23 +4845,23 @@ unreachable end i32.const 14720 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 14752 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4883,23 +4873,23 @@ unreachable end i32.const 14784 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 14816 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4911,23 +4901,23 @@ unreachable end i32.const 14848 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 14880 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4939,23 +4929,23 @@ unreachable end i32.const 14912 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 14944 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4967,23 +4957,23 @@ unreachable end i32.const 14976 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15008 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4995,23 +4985,23 @@ unreachable end i32.const 15040 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15072 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5023,23 +5013,23 @@ unreachable end i32.const 15104 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15136 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5051,23 +5041,23 @@ unreachable end i32.const 15168 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15200 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5079,23 +5069,23 @@ unreachable end i32.const 15232 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15264 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5107,23 +5097,23 @@ unreachable end i32.const 15296 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15328 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5135,23 +5125,23 @@ unreachable end i32.const 15360 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15392 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5163,23 +5153,23 @@ unreachable end i32.const 15424 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15456 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5191,23 +5181,23 @@ unreachable end i32.const 15488 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15520 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5219,23 +5209,23 @@ unreachable end i32.const 15552 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15584 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5247,23 +5237,23 @@ unreachable end i32.const 15616 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15648 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5275,23 +5265,23 @@ unreachable end i32.const 15680 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15712 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5303,23 +5293,23 @@ unreachable end i32.const 15744 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15776 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5331,23 +5321,23 @@ unreachable end i32.const 15808 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15840 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5359,23 +5349,23 @@ unreachable end i32.const 15872 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15904 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5387,23 +5377,23 @@ unreachable end i32.const 15936 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15968 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5415,23 +5405,23 @@ unreachable end i32.const 16000 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16032 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5443,23 +5433,23 @@ unreachable end i32.const 16064 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16096 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5471,23 +5461,23 @@ unreachable end i32.const 16128 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16160 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5499,23 +5489,23 @@ unreachable end i32.const 16192 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16224 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5527,23 +5517,23 @@ unreachable end i32.const 16256 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 15328 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5555,23 +5545,23 @@ unreachable end i32.const 16288 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16320 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5583,23 +5573,23 @@ unreachable end i32.const 16352 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16384 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5611,23 +5601,23 @@ unreachable end i32.const 16416 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16448 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5639,23 +5629,23 @@ unreachable end i32.const 16480 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16512 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5667,23 +5657,23 @@ unreachable end i32.const 16544 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16576 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5695,23 +5685,23 @@ unreachable end i32.const 16608 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16640 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5723,23 +5713,23 @@ unreachable end i32.const 16672 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16704 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5751,23 +5741,23 @@ unreachable end i32.const 16736 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16768 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5779,23 +5769,23 @@ unreachable end i32.const 16800 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16832 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5807,23 +5797,23 @@ unreachable end i32.const 16864 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16896 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5835,23 +5825,23 @@ unreachable end i32.const 16928 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 16960 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5863,23 +5853,23 @@ unreachable end i32.const 16992 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toLowerCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17024 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5891,23 +5881,23 @@ unreachable end i32.const 17056 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17088 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5919,23 +5909,23 @@ unreachable end i32.const 14304 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17120 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5947,23 +5937,23 @@ unreachable end i32.const 17152 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17184 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5975,23 +5965,23 @@ unreachable end i32.const 17216 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17248 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6003,23 +5993,23 @@ unreachable end i32.const 17280 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17312 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6031,23 +6021,23 @@ unreachable end i32.const 17344 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17376 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6059,23 +6049,23 @@ unreachable end i32.const 17408 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17376 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6087,23 +6077,23 @@ unreachable end i32.const 17440 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17472 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6115,23 +6105,23 @@ unreachable end i32.const 17504 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17536 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6143,23 +6133,23 @@ unreachable end i32.const 17568 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17600 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6171,23 +6161,23 @@ unreachable end i32.const 17632 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17664 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6199,23 +6189,23 @@ unreachable end i32.const 17696 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17728 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6227,23 +6217,23 @@ unreachable end i32.const 17760 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String#toUpperCase - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 17792 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 + local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6260,174 +6250,172 @@ local.get $0 i32.const 1114111 i32.le_s - local.set $1 - local.get $1 if global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/string/String.fromCodePoint - local.tee $2 + local.tee $1 i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 call $~lib/string/String#toLowerCase - local.tee $3 + local.tee $2 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 call $~lib/string/String#toUpperCase - local.tee $4 + local.tee $3 i32.store $0 offset=24 - local.get $3 + local.get $2 i32.const 0 call $~lib/string/String#codePointAt i64.extend_i32_s - local.set $7 - local.get $3 + local.set $6 + local.get $2 i32.const 1 call $~lib/string/String#codePointAt i64.extend_i32_s - local.tee $5 + local.tee $4 i64.const 0 i64.ge_s if - local.get $7 - local.get $5 + local.get $6 + local.get $4 i64.const 16 i64.shl i64.add - local.set $7 + local.set $6 end - local.get $3 + local.get $2 i32.const 2 call $~lib/string/String#codePointAt i64.extend_i32_s - local.tee $6 + local.tee $5 i64.const 0 i64.ge_s if - local.get $7 local.get $6 + local.get $5 i64.const 32 i64.shl i64.add - local.set $7 + local.set $6 end - local.get $4 + local.get $3 i32.const 0 call $~lib/string/String#codePointAt i64.extend_i32_s - local.set $8 - local.get $4 + local.set $7 + local.get $3 i32.const 1 call $~lib/string/String#codePointAt i64.extend_i32_s - local.tee $5 + local.tee $4 i64.const 0 i64.ge_s if - local.get $8 - local.get $5 + local.get $7 + local.get $4 i64.const 16 i64.shl i64.add - local.set $8 + local.set $7 end - local.get $4 + local.get $3 i32.const 2 call $~lib/string/String#codePointAt i64.extend_i32_s - local.tee $6 + local.tee $5 i64.const 0 i64.ge_s if - local.get $8 - local.get $6 + local.get $7 + local.get $5 i64.const 32 i64.shl i64.add - local.set $8 + local.set $7 end local.get $0 i32.const 0 call $std/string-casemapping/toLowerCaseFromIndex i64.extend_i32_s - local.set $9 + local.set $8 local.get $0 i32.const 1 call $std/string-casemapping/toLowerCaseFromIndex i64.extend_i32_s - local.tee $5 + local.tee $4 i64.const 0 i64.ge_s if - local.get $9 - local.get $5 + local.get $8 + local.get $4 i64.const 16 i64.shl i64.add - local.set $9 + local.set $8 end local.get $0 i32.const 2 call $std/string-casemapping/toLowerCaseFromIndex i64.extend_i32_s - local.tee $6 + local.tee $5 i64.const 0 i64.ge_s if - local.get $9 - local.get $6 + local.get $8 + local.get $5 i64.const 32 i64.shl i64.add - local.set $9 + local.set $8 end local.get $0 i32.const 0 call $std/string-casemapping/toUpperCaseFromIndex i64.extend_i32_s - local.set $10 + local.set $9 local.get $0 i32.const 1 call $std/string-casemapping/toUpperCaseFromIndex i64.extend_i32_s - local.tee $5 + local.tee $4 i64.const 0 i64.ge_s if - local.get $10 - local.get $5 + local.get $9 + local.get $4 i64.const 16 i64.shl i64.add - local.set $10 + local.set $9 end local.get $0 i32.const 2 call $std/string-casemapping/toUpperCaseFromIndex i64.extend_i32_s - local.tee $6 + local.tee $5 i64.const 0 i64.ge_s if - local.get $10 - local.get $6 + local.get $9 + local.get $5 i64.const 32 i64.shl i64.add - local.set $10 + local.set $9 end - local.get $7 - local.get $9 + local.get $6 + local.get $8 i64.ne if i32.const 17824 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 1 local.get $0 f64.convert_i32_s @@ -6437,25 +6425,25 @@ f64.const 0 call $~lib/builtins/trace i32.const 17920 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 - local.get $7 + local.get $10 + local.get $6 i32.const 10 call $~lib/number/I64#toString - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String.__concat - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 0 f64.const 0 f64.const 0 @@ -6464,25 +6452,25 @@ f64.const 0 call $~lib/builtins/trace i32.const 19760 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 - local.get $9 + local.get $10 + local.get $8 i32.const 10 call $~lib/number/I64#toString - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String.__concat - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 0 f64.const 0 f64.const 0 @@ -6491,16 +6479,16 @@ f64.const 0 call $~lib/builtins/trace end - local.get $8 - local.get $10 + local.get $7 + local.get $9 i64.ne if i32.const 19824 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 1 local.get $0 f64.convert_i32_s @@ -6510,25 +6498,25 @@ f64.const 0 call $~lib/builtins/trace i32.const 19920 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 - local.get $8 + local.get $10 + local.get $7 i32.const 10 call $~lib/number/I64#toString - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String.__concat - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 0 f64.const 0 f64.const 0 @@ -6537,25 +6525,25 @@ f64.const 0 call $~lib/builtins/trace i32.const 19984 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=4 - local.get $11 local.get $10 + local.get $9 i32.const 10 call $~lib/number/I64#toString - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 offset=8 - local.get $11 + local.get $10 call $~lib/string/String.__concat - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.const 0 f64.const 0 f64.const 0 @@ -6581,39 +6569,38 @@ (local $codes i32) (local $j i32) (local $i i32) - (local $5 i32) (local $c i32) + (local $c|6 i32) (local $c|7 i32) - (local $c|8 i32) (local $c1 i32) (local $c0 i32) (local $sigma i32) (local $buffer i32) (local $index i32) - (local $len|14 i32) + (local $len|13 i32) (local $found i32) (local $pos i32) + (local $16 i32) (local $17 i32) - (local $18 i32) (local $minPos i32) - (local $buffer|20 i32) - (local $index|21 i32) - (local $c|22 i32) - (local $c1|23 i32) + (local $buffer|19 i32) + (local $index|20 i32) + (local $c|21 i32) + (local $c1|22 i32) + (local $c|23 i32) (local $c|24 i32) (local $c|25 i32) - (local $c|26 i32) + (local $26 i32) (local $27 i32) - (local $28 i32) (local $maxPos i32) - (local $c|30 i32) - (local $c1|31 i32) + (local $c|29 i32) + (local $c1|30 i32) + (local $c|31 i32) (local $c|32 i32) - (local $c|33 i32) (local $code i32) (local $lo i32) (local $hi i32) - (local $37 i32) + (local $36 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6629,12 +6616,12 @@ i32.eqz if local.get $this - local.set $37 + local.set $36 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $37 + local.get $36 return end global.get $~lib/memory/__stack_pointer @@ -6655,8 +6642,6 @@ local.get $i local.get $len i32.lt_u - local.set $5 - local.get $5 if block $for-continue|0 local.get $this @@ -6667,8 +6652,8 @@ i32.load16_u $0 local.set $c local.get $c - local.set $c|7 - local.get $c|7 + local.set $c|6 + local.get $c|6 i32.const 7 i32.shr_u i32.eqz @@ -6680,13 +6665,13 @@ i32.add block $~lib/util/string/toLower8|inlined.0 (result i32) local.get $c - local.set $c|8 + local.set $c|7 i32.const 0 i32.const 0 i32.gt_s drop i32.const 6060 - local.get $c|8 + local.get $c|7 i32.add i32.load8_u $0 br $~lib/util/string/toLower8|inlined.0 @@ -6802,19 +6787,19 @@ local.get $i local.set $index local.get $len - local.set $len|14 + local.set $len|13 i32.const 0 local.set $found local.get $index local.set $pos i32.const 0 - local.tee $17 + local.tee $16 local.get $pos i32.const 30 i32.sub - local.tee $18 + local.tee $17 + local.get $16 local.get $17 - local.get $18 i32.gt_s select local.set $minPos @@ -6825,58 +6810,58 @@ if block $~lib/util/string/codePointBefore|inlined.0 (result i32) local.get $buffer - local.set $buffer|20 + local.set $buffer|19 local.get $pos - local.set $index|21 - local.get $index|21 + local.set $index|20 + local.get $index|20 i32.const 0 i32.le_s if i32.const -1 br $~lib/util/string/codePointBefore|inlined.0 end - local.get $buffer|20 - local.get $index|21 + local.get $buffer|19 + local.get $index|20 i32.const 1 i32.sub i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $c|22 - local.get $c|22 + local.set $c|21 + local.get $c|21 i32.const 64512 i32.and i32.const 56320 i32.eq - local.get $index|21 + local.get $index|20 i32.const 2 i32.sub i32.const 0 i32.ge_s i32.and if - local.get $buffer|20 - local.get $index|21 + local.get $buffer|19 + local.get $index|20 i32.const 2 i32.sub i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $c1|23 - local.get $c1|23 + local.set $c1|22 + local.get $c1|22 i32.const 64512 i32.and i32.const 55296 i32.eq if - local.get $c1|23 + local.get $c1|22 i32.const 1023 i32.and i32.const 10 i32.shl - local.get $c|22 + local.get $c|21 i32.const 1023 i32.and i32.add @@ -6885,7 +6870,7 @@ br $~lib/util/string/codePointBefore|inlined.0 end end - local.get $c|22 + local.get $c|21 i32.const 63488 i32.and i32.const 55296 @@ -6893,32 +6878,32 @@ if (result i32) i32.const 65533 else - local.get $c|22 + local.get $c|21 end end + local.set $c|23 + local.get $c|23 local.set $c|24 local.get $c|24 - local.set $c|25 - local.get $c|25 i32.const 918000 i32.lt_u if (result i32) i32.const 6188 - local.get $c|25 + local.get $c|24 call $~lib/util/string/stagedBinaryLookup else i32.const 0 end i32.eqz if - local.get $c|24 - local.set $c|26 - local.get $c|26 + local.get $c|23 + local.set $c|25 + local.get $c|25 i32.const 127370 i32.lt_u if (result i32) i32.const 9196 - local.get $c|26 + local.get $c|25 call $~lib/util/string/stagedBinaryLookup else i32.const 0 @@ -6932,7 +6917,7 @@ end end local.get $pos - local.get $c|24 + local.get $c|23 i32.const 65536 i32.ge_s i32.const 1 @@ -6955,11 +6940,11 @@ local.get $pos i32.const 30 i32.add + local.tee $26 + local.get $len|13 local.tee $27 - local.get $len|14 - local.tee $28 + local.get $26 local.get $27 - local.get $28 i32.lt_s select local.set $maxPos @@ -6974,8 +6959,8 @@ i32.shl i32.add i32.load16_u $0 - local.set $c|30 - local.get $c|30 + local.set $c|29 + local.get $c|29 i32.const 64512 i32.and i32.const 55296 @@ -6983,7 +6968,7 @@ local.get $pos i32.const 1 i32.add - local.get $len|14 + local.get $len|13 i32.ne i32.and if @@ -6993,49 +6978,49 @@ i32.shl i32.add i32.load16_u $0 offset=2 - local.set $c1|31 - local.get $c1|31 + local.set $c1|30 + local.get $c1|30 i32.const 64512 i32.and i32.const 56320 i32.eq if - local.get $c|30 + local.get $c|29 i32.const 55296 i32.sub i32.const 10 i32.shl - local.get $c1|31 + local.get $c1|30 i32.const 56320 i32.sub i32.add i32.const 65536 i32.add - local.set $c|30 + local.set $c|29 end end - local.get $c|30 - local.set $c|32 - local.get $c|32 + local.get $c|29 + local.set $c|31 + local.get $c|31 i32.const 918000 i32.lt_u if (result i32) i32.const 6188 - local.get $c|32 + local.get $c|31 call $~lib/util/string/stagedBinaryLookup else i32.const 0 end i32.eqz if - local.get $c|30 - local.set $c|33 - local.get $c|33 + local.get $c|29 + local.set $c|32 + local.get $c|32 i32.const 127370 i32.lt_u if (result i32) i32.const 9196 - local.get $c|33 + local.get $c|32 call $~lib/util/string/stagedBinaryLookup else i32.const 0 @@ -7044,7 +7029,7 @@ br $~lib/util/string/isFinalSigma|inlined.0 end local.get $pos - local.get $c|30 + local.get $c|29 i32.const 65536 i32.ge_u i32.const 1 @@ -7160,12 +7145,12 @@ i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.set $37 + local.set $36 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $37 + local.get $36 ) (func $~lib/string/String.fromCodePoint (type $i32_=>_i32) (param $code i32) (result i32) (local $hasSur i32) diff --git a/tests/compiler/std/string-encoding.debug.wat b/tests/compiler/std/string-encoding.debug.wat index b00ee6613b..0c99ae7df3 100644 --- a/tests/compiler/std/string-encoding.debug.wat +++ b/tests/compiler/std/string-encoding.debug.wat @@ -1183,15 +1183,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1252,17 +1250,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1274,22 +1270,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/std/string.debug.wat b/tests/compiler/std/string.debug.wat index 13cf437b2e..92238d8004 100644 --- a/tests/compiler/std/string.debug.wat +++ b/tests/compiler/std/string.debug.wat @@ -1898,15 +1898,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1967,17 +1965,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1989,22 +1985,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -3193,7 +3187,6 @@ (local $7 i32) (local $8 i32) (local $searchStart i32) - (local $10 i32) local.get $search call $~lib/string/String#get:length local.set $searchLen @@ -3236,8 +3229,6 @@ local.get $searchStart local.get $len i32.le_s - local.set $10 - local.get $10 if local.get $this local.get $searchStart @@ -3303,7 +3294,6 @@ (local $7 i32) (local $8 i32) (local $searchStart i32) - (local $10 i32) local.get $search call $~lib/string/String#get:length local.set $searchLen @@ -3345,8 +3335,6 @@ local.get $searchStart i32.const 0 i32.ge_s - local.set $10 - local.get $10 if local.get $this local.get $searchStart @@ -4218,55 +4206,50 @@ (local $position i32) (local $x i64) (local $noDigits i32) - (local $11 i32) (local $digit i32) + (local $12 i32) (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $ptr|16 i32) - (local $len|17 i32) - (local $sign|18 i32) + (local $ptr|14 i32) + (local $len|15 i32) + (local $sign|16 i32) (local $magnitude i32) - (local $code|20 i32) - (local $digit|21 i32) - (local $22 i32) + (local $code|18 i32) + (local $digit|19 i32) (local $significand i64) (local $exp i32) (local $significandf f64) (local $n i32) - (local $27 i32) - (local $28 i32) - (local $n|29 i32) - (local $n|30 i32) - (local $significand|31 i64) - (local $exp|32 i32) + (local $24 i32) + (local $25 i32) + (local $n|26 i32) + (local $n|27 i32) + (local $significand|28 i64) + (local $exp|29 i32) (local $shift i64) - (local $34 i32) (local $q i64) (local $r i64) (local $s i64) (local $b i64) - (local $q|39 i64) - (local $r|40 i64) - (local $s|41 i64) - (local $significand|42 i64) - (local $exp|43 i32) - (local $shift|44 i64) - (local $45 i32) + (local $q|35 i64) + (local $r|36 i64) + (local $s|37 i64) + (local $significand|38 i64) + (local $exp|39 i32) + (local $shift|40 i64) (local $a i64) - (local $b|47 i32) + (local $b|42 i32) (local $low i64) (local $high i64) (local $overflow i32) (local $space i32) (local $revspace i64) - (local $a|53 i64) - (local $b|54 i32) - (local $low|55 i64) - (local $high|56 i64) - (local $overflow|57 i32) - (local $space|58 i32) - (local $revspace|59 i64) + (local $a|48 i64) + (local $b|49 i32) + (local $low|50 i64) + (local $high|51 i64) + (local $overflow|52 i32) + (local $space|53 i32) + (local $revspace|54 i64) local.get $str call $~lib/string/String#get:length local.set $len @@ -4475,8 +4458,6 @@ local.tee $code i32.const 48 i32.eq - local.set $11 - local.get $11 if local.get $len i32.const 1 @@ -4545,8 +4526,6 @@ i32.const 0 end end - local.set $13 - local.get $13 if local.get $digit i32.const 10 @@ -4614,27 +4593,27 @@ local.set $significand local.get $position i32.const 19 - local.tee $14 + local.tee $12 local.get $consumed - local.tee $15 - local.get $14 - local.get $15 + local.tee $13 + local.get $12 + local.get $13 i32.lt_s select i32.sub block $~lib/util/string/parseExp|inlined.0 (result i32) local.get $ptr - local.set $ptr|16 + local.set $ptr|14 local.get $len - local.set $len|17 + local.set $len|15 i32.const 1 - local.set $sign|18 + local.set $sign|16 i32.const 0 local.set $magnitude - local.get $ptr|16 + local.get $ptr|14 i32.load16_u $0 - local.set $code|20 - local.get $code|20 + local.set $code|18 + local.get $code|18 i32.const 32 i32.or i32.const 101 @@ -4643,108 +4622,106 @@ i32.const 0 br $~lib/util/string/parseExp|inlined.0 end - local.get $len|17 + local.get $len|15 i32.const 1 i32.sub - local.tee $len|17 + local.tee $len|15 i32.eqz if i32.const 0 br $~lib/util/string/parseExp|inlined.0 end - local.get $ptr|16 + local.get $ptr|14 i32.const 2 i32.add - local.tee $ptr|16 + local.tee $ptr|14 i32.load16_u $0 - local.set $code|20 - local.get $code|20 + local.set $code|18 + local.get $code|18 i32.const 45 i32.eq if - local.get $len|17 + local.get $len|15 i32.const 1 i32.sub - local.tee $len|17 + local.tee $len|15 i32.eqz if i32.const 0 br $~lib/util/string/parseExp|inlined.0 end - local.get $ptr|16 + local.get $ptr|14 i32.const 2 i32.add - local.tee $ptr|16 + local.tee $ptr|14 i32.load16_u $0 - local.set $code|20 + local.set $code|18 i32.const -1 - local.set $sign|18 + local.set $sign|16 else - local.get $code|20 + local.get $code|18 i32.const 43 i32.eq if - local.get $len|17 + local.get $len|15 i32.const 1 i32.sub - local.tee $len|17 + local.tee $len|15 i32.eqz if i32.const 0 br $~lib/util/string/parseExp|inlined.0 end - local.get $ptr|16 + local.get $ptr|14 i32.const 2 i32.add - local.tee $ptr|16 + local.tee $ptr|14 i32.load16_u $0 - local.set $code|20 + local.set $code|18 end end loop $while-continue|4 - local.get $code|20 + local.get $code|18 i32.const 48 i32.eq if - local.get $len|17 + local.get $len|15 i32.const 1 i32.sub - local.tee $len|17 + local.tee $len|15 i32.eqz if i32.const 0 br $~lib/util/string/parseExp|inlined.0 end - local.get $ptr|16 + local.get $ptr|14 i32.const 2 i32.add - local.tee $ptr|16 + local.tee $ptr|14 i32.load16_u $0 - local.set $code|20 + local.set $code|18 br $while-continue|4 end end - local.get $code|20 + local.get $code|18 i32.const 48 i32.sub - local.set $digit|21 + local.set $digit|19 loop $for-loop|5 - local.get $len|17 + local.get $len|15 if (result i32) - local.get $digit|21 + local.get $digit|19 i32.const 10 i32.lt_u else i32.const 0 end - local.set $22 - local.get $22 if local.get $magnitude i32.const 3200 i32.ge_s if - local.get $sign|18 + local.get $sign|16 i32.const 3200 i32.mul br $~lib/util/string/parseExp|inlined.0 @@ -4752,27 +4729,27 @@ i32.const 10 local.get $magnitude i32.mul - local.get $digit|21 + local.get $digit|19 i32.add local.set $magnitude - local.get $ptr|16 + local.get $ptr|14 i32.const 2 i32.add - local.tee $ptr|16 + local.tee $ptr|14 i32.load16_u $0 - local.set $code|20 - local.get $len|17 + local.set $code|18 + local.get $len|15 i32.const 1 i32.sub - local.set $len|17 - local.get $code|20 + local.set $len|15 + local.get $code|18 i32.const 48 i32.sub - local.set $digit|21 + local.set $digit|19 br $for-loop|5 end end - local.get $sign|18 + local.get $sign|16 local.get $magnitude i32.mul end @@ -4843,13 +4820,13 @@ i64.le_u if (result i32) local.get $exp - local.tee $27 + local.tee $24 i32.const 31 i32.shr_s - local.tee $28 - local.get $27 + local.tee $25 + local.get $24 i32.add - local.get $28 + local.get $25 i32.xor i32.const 22 i32.le_s @@ -4863,9 +4840,9 @@ if local.get $significandf local.get $exp - local.set $n|29 + local.set $n|26 i32.const 3648 - local.get $n|29 + local.get $n|26 i32.const 3 i32.shl i32.add @@ -4877,9 +4854,9 @@ i32.const 0 local.get $exp i32.sub - local.set $n|30 + local.set $n|27 i32.const 3648 - local.get $n|30 + local.get $n|27 i32.const 3 i32.shl i32.add @@ -4892,33 +4869,31 @@ i32.lt_s if local.get $significand - local.set $significand|31 + local.set $significand|28 local.get $exp - local.set $exp|32 - local.get $significand|31 + local.set $exp|29 + local.get $significand|28 i64.clz local.set $shift - local.get $significand|31 + local.get $significand|28 local.get $shift i64.shl - local.set $significand|31 - local.get $exp|32 + local.set $significand|28 + local.get $exp|29 i64.extend_i32_s local.get $shift i64.sub local.set $shift loop $for-loop|6 - local.get $exp|32 + local.get $exp|29 i32.const -14 i32.le_s - local.set $34 - local.get $34 if - local.get $significand|31 + local.get $significand|28 i64.const 6103515625 i64.div_u local.set $q - local.get $significand|31 + local.get $significand|28 i64.const 6103515625 i64.rem_u local.set $r @@ -4939,43 +4914,43 @@ f64.nearest i64.trunc_sat_f64_u i64.add - local.set $significand|31 + local.set $significand|28 local.get $shift local.get $s i64.sub local.set $shift - local.get $exp|32 + local.get $exp|29 i32.const 14 i32.add - local.set $exp|32 + local.set $exp|29 br $for-loop|6 end end i32.const 5 i32.const 0 - local.get $exp|32 + local.get $exp|29 i32.sub call $~lib/math/ipow32 i64.extend_i32_s local.set $b - local.get $significand|31 + local.get $significand|28 local.get $b i64.div_u - local.set $q|39 - local.get $significand|31 + local.set $q|35 + local.get $significand|28 local.get $b i64.rem_u - local.set $r|40 - local.get $q|39 + local.set $r|36 + local.get $q|35 i64.clz - local.set $s|41 - local.get $q|39 - local.get $s|41 + local.set $s|37 + local.get $q|35 + local.get $s|37 i64.shl - local.get $r|40 + local.get $r|36 f64.convert_i64_u i64.reinterpret_f64 - local.get $s|41 + local.get $s|37 i64.const 52 i64.shl i64.add @@ -4985,12 +4960,12 @@ f64.div i64.trunc_sat_f64_u i64.add - local.set $significand|31 + local.set $significand|28 local.get $shift - local.get $s|41 + local.get $s|37 i64.sub local.set $shift - local.get $significand|31 + local.get $significand|28 f64.convert_i64_u local.get $shift i32.wrap_i64 @@ -4998,45 +4973,43 @@ br $~lib/util/string/scientific|inlined.0 else local.get $significand - local.set $significand|42 + local.set $significand|38 local.get $exp - local.set $exp|43 - local.get $significand|42 + local.set $exp|39 + local.get $significand|38 i64.ctz - local.set $shift|44 - local.get $significand|42 - local.get $shift|44 + local.set $shift|40 + local.get $significand|38 + local.get $shift|40 i64.shr_u - local.set $significand|42 - local.get $shift|44 - local.get $exp|43 + local.set $significand|38 + local.get $shift|40 + local.get $exp|39 i64.extend_i32_s i64.add - local.set $shift|44 - local.get $shift|44 + local.set $shift|40 + local.get $shift|40 global.set $~lib/util/string/__fixmulShift loop $for-loop|7 - local.get $exp|43 + local.get $exp|39 i32.const 13 i32.ge_s - local.set $45 - local.get $45 if - local.get $significand|42 + local.get $significand|38 local.set $a i32.const 1220703125 - local.set $b|47 + local.set $b|42 local.get $a i64.const 4294967295 i64.and - local.get $b|47 + local.get $b|42 i64.extend_i32_u i64.mul local.set $low local.get $a i64.const 32 i64.shr_u - local.get $b|47 + local.get $b|42 i64.extend_i32_u i64.mul local.get $low @@ -5080,67 +5053,67 @@ i64.const 1 i64.and i64.add - local.set $significand|42 - local.get $exp|43 + local.set $significand|38 + local.get $exp|39 i32.const 13 i32.sub - local.set $exp|43 + local.set $exp|39 br $for-loop|7 end end - local.get $significand|42 - local.set $a|53 + local.get $significand|38 + local.set $a|48 i32.const 5 - local.get $exp|43 + local.get $exp|39 call $~lib/math/ipow32 - local.set $b|54 - local.get $a|53 + local.set $b|49 + local.get $a|48 i64.const 4294967295 i64.and - local.get $b|54 + local.get $b|49 i64.extend_i32_u i64.mul - local.set $low|55 - local.get $a|53 + local.set $low|50 + local.get $a|48 i64.const 32 i64.shr_u - local.get $b|54 + local.get $b|49 i64.extend_i32_u i64.mul - local.get $low|55 + local.get $low|50 i64.const 32 i64.shr_u i64.add - local.set $high|56 - local.get $high|56 + local.set $high|51 + local.get $high|51 i64.const 32 i64.shr_u i32.wrap_i64 - local.set $overflow|57 - local.get $overflow|57 + local.set $overflow|52 + local.get $overflow|52 i32.clz - local.set $space|58 + local.set $space|53 i64.const 32 - local.get $space|58 + local.get $space|53 i64.extend_i32_u i64.sub - local.set $revspace|59 + local.set $revspace|54 global.get $~lib/util/string/__fixmulShift - local.get $revspace|59 + local.get $revspace|54 i64.add global.set $~lib/util/string/__fixmulShift - local.get $high|56 - local.get $space|58 + local.get $high|51 + local.get $space|53 i64.extend_i32_u i64.shl - local.get $low|55 + local.get $low|50 i64.const 4294967295 i64.and - local.get $revspace|59 + local.get $revspace|54 i64.shr_u i64.or - local.get $low|55 - local.get $space|58 + local.get $low|50 + local.get $space|53 i64.extend_i32_u i64.shl i64.const 31 @@ -5148,12 +5121,12 @@ i64.const 1 i64.and i64.add - local.set $significand|42 + local.set $significand|38 global.get $~lib/util/string/__fixmulShift - local.set $shift|44 - local.get $significand|42 + local.set $shift|40 + local.get $significand|38 f64.convert_i64_u - local.get $shift|44 + local.get $shift|40 i32.wrap_i64 call $~lib/math/NativeMath.scalbn br $~lib/util/string/scientific|inlined.0 @@ -7268,26 +7241,24 @@ (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $length i32) (param $k i32) (result i32) (local $kk i32) (local $i i32) - (local $5 i32) (local $ptr i32) (local $offset i32) - (local $i|8 i32) - (local $9 i32) - (local $buffer|10 i32) - (local $k|11 i32) + (local $i|7 i32) + (local $buffer|8 i32) + (local $k|9 i32) (local $sign i32) (local $decimals i32) - (local $buffer|14 i32) + (local $buffer|12 i32) (local $num i32) - (local $offset|16 i32) + (local $offset|14 i32) (local $len i32) - (local $buffer|18 i32) - (local $k|19 i32) - (local $sign|20 i32) - (local $decimals|21 i32) - (local $buffer|22 i32) - (local $num|23 i32) - (local $offset|24 i32) + (local $buffer|16 i32) + (local $k|17 i32) + (local $sign|18 i32) + (local $decimals|19 i32) + (local $buffer|20 i32) + (local $num|21 i32) + (local $offset|22 i32) local.get $k i32.eqz if @@ -7328,8 +7299,6 @@ local.get $i local.get $kk i32.lt_s - local.set $5 - local.get $5 if local.get $buffer local.get $i @@ -7433,25 +7402,23 @@ i32.or i32.store $0 i32.const 2 - local.set $i|8 + local.set $i|7 loop $for-loop|1 - local.get $i|8 + local.get $i|7 local.get $offset i32.lt_s - local.set $9 - local.get $9 if local.get $buffer - local.get $i|8 + local.get $i|7 i32.const 1 i32.shl i32.add i32.const 48 i32.store16 $0 - local.get $i|8 + local.get $i|7 i32.const 1 i32.add - local.set $i|8 + local.set $i|7 br $for-loop|1 end end @@ -7470,42 +7437,42 @@ local.get $buffer i32.const 4 i32.add - local.set $buffer|10 + local.set $buffer|8 local.get $kk i32.const 1 i32.sub - local.set $k|11 - local.get $k|11 + local.set $k|9 + local.get $k|9 i32.const 0 i32.lt_s local.set $sign local.get $sign if i32.const 0 - local.get $k|11 + local.get $k|9 i32.sub - local.set $k|11 + local.set $k|9 end - local.get $k|11 + local.get $k|9 call $~lib/util/number/decimalCount32 i32.const 1 i32.add local.set $decimals - local.get $buffer|10 - local.set $buffer|14 - local.get $k|11 + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 local.set $num local.get $decimals - local.set $offset|16 + local.set $offset|14 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|14 + local.get $buffer|12 local.get $num - local.get $offset|16 + local.get $offset|14 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|10 + local.get $buffer|8 i32.const 45 i32.const 43 local.get $sign @@ -7546,48 +7513,48 @@ i32.add i32.const 4 i32.add - local.set $buffer|18 + local.set $buffer|16 local.get $kk i32.const 1 i32.sub - local.set $k|19 - local.get $k|19 + local.set $k|17 + local.get $k|17 i32.const 0 i32.lt_s - local.set $sign|20 - local.get $sign|20 + local.set $sign|18 + local.get $sign|18 if i32.const 0 - local.get $k|19 + local.get $k|17 i32.sub - local.set $k|19 + local.set $k|17 end - local.get $k|19 + local.get $k|17 call $~lib/util/number/decimalCount32 i32.const 1 i32.add - local.set $decimals|21 - local.get $buffer|18 - local.set $buffer|22 - local.get $k|19 - local.set $num|23 - local.get $decimals|21 - local.set $offset|24 + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|22 - local.get $num|23 - local.get $offset|24 + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|18 + local.get $buffer|16 i32.const 45 i32.const 43 - local.get $sign|20 + local.get $sign|18 select i32.store16 $0 - local.get $decimals|21 + local.get $decimals|19 i32.add local.set $length local.get $length @@ -8299,18 +8266,17 @@ (local $result i32) (local $resultStart i32) (local $i i32) - (local $12 i32) (local $charStr i32) + (local $result|13 i32) (local $result|14 i32) - (local $result|15 i32) (local $end i32) (local $start i32) - (local $i|18 i32) + (local $i|17 i32) (local $len i32) (local $out i32) - (local $len|21 i32) - (local $out|22 i32) - (local $23 i32) + (local $len|20 i32) + (local $out|21 i32) + (local $22 i32) global.get $~lib/memory/__stack_pointer i32.const 36 i32.sub @@ -8328,12 +8294,12 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.set $23 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return end local.get $separator @@ -8358,12 +8324,12 @@ local.get $this call $~lib/array/Array<~lib/string/String>#__uset local.get $3 - local.set $23 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return end local.get $this @@ -8390,12 +8356,12 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.set $23 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return end local.get $length @@ -8424,8 +8390,6 @@ local.get $i local.get $length i32.lt_s - local.set $12 - local.get $12 if global.get $~lib/memory/__stack_pointer i32.const 2 @@ -8460,12 +8424,12 @@ end end local.get $result - local.set $23 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return else local.get $length @@ -8477,19 +8441,19 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.tee $result|14 + local.tee $result|13 i32.store $0 offset=16 - local.get $result|14 + local.get $result|13 call $~lib/array/Array<~lib/string/String>#get:dataStart i32.const 688 i32.store $0 - local.get $result|14 - local.set $23 + local.get $result|13 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return end end @@ -8499,14 +8463,14 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.tee $result|15 + local.tee $result|14 i32.store $0 offset=20 i32.const 0 local.set $end i32.const 0 local.set $start i32.const 0 - local.set $i|18 + local.set $i|17 loop $while-continue|1 local.get $this local.get $separator @@ -8542,35 +8506,35 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $result|15 + local.get $result|14 local.get $out call $~lib/array/Array<~lib/string/String>#push drop else - local.get $result|15 + local.get $result|14 i32.const 688 - local.set $23 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $23 + local.get $22 i32.store $0 offset=28 - local.get $23 + local.get $22 call $~lib/array/Array<~lib/string/String>#push drop end - local.get $i|18 + local.get $i|17 i32.const 1 i32.add - local.tee $i|18 + local.tee $i|17 local.get $limit i32.eq if - local.get $result|15 - local.set $23 + local.get $result|14 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return end local.get $end @@ -8583,67 +8547,67 @@ local.get $start i32.eqz if - local.get $result|15 + local.get $result|14 local.get $this call $~lib/array/Array<~lib/string/String>#push drop - local.get $result|15 - local.set $23 + local.get $result|14 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 return end local.get $length local.get $start i32.sub - local.set $len|21 - local.get $len|21 + local.set $len|20 + local.get $len|20 i32.const 0 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $len|21 + local.get $len|20 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $out|22 + local.tee $out|21 i32.store $0 offset=32 - local.get $out|22 + local.get $out|21 local.get $this local.get $start i32.const 1 i32.shl i32.add - local.get $len|21 + local.get $len|20 i32.const 1 i32.shl memory.copy $0 $0 - local.get $result|15 - local.get $out|22 + local.get $result|14 + local.get $out|21 call $~lib/array/Array<~lib/string/String>#push drop else - local.get $result|15 + local.get $result|14 i32.const 688 - local.set $23 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $23 + local.get $22 i32.store $0 offset=28 - local.get $23 + local.get $22 call $~lib/array/Array<~lib/string/String>#push drop end - local.get $result|15 - local.set $23 + local.get $result|14 + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $23 + local.get $22 ) (func $start:std/string (type $none_=>_none) (local $0 i32) @@ -24718,7 +24682,6 @@ (local $ptr i32) (local $i i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24747,8 +24710,6 @@ local.get $i local.get $length i32.lt_s - local.set $5 - local.get $5 if local.get $out local.get $i @@ -24770,12 +24731,12 @@ end end local.get $out - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $5 ) (func $~lib/string/String.fromCodePoint (type $i32_=>_i32) (param $code i32) (result i32) (local $hasSur i32) @@ -25673,17 +25634,16 @@ (local $offset i32) (local $i i32) (local $9 i32) - (local $10 i32) (local $prev i32) (local $next i32) (local $outSize i32) + (local $out|13 i32) (local $out|14 i32) - (local $out|15 i32) - (local $offset|16 i32) - (local $outSize|17 i32) + (local $offset|15 i32) + (local $outSize|16 i32) (local $chunk i32) (local $rest i32) - (local $20 i32) + (local $19 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -25718,12 +25678,12 @@ call $~lib/string/String.__eq select end - local.set $20 + local.set $19 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $20 + local.get $19 return end local.get $replacement @@ -25736,12 +25696,12 @@ i32.eqz if local.get $this - local.set $20 + local.set $19 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $20 + local.get $19 return end global.get $~lib/memory/__stack_pointer @@ -25772,16 +25732,14 @@ local.get $i local.get $thisLen i32.lt_u - local.set $9 - local.get $9 if local.get $out local.get $offset - local.tee $10 + local.tee $9 i32.const 1 i32.add local.set $offset - local.get $10 + local.get $9 i32.const 1 i32.shl i32.add @@ -25814,12 +25772,12 @@ end end local.get $out - local.set $20 + local.set $19 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $20 + local.get $19 return end i32.const 0 @@ -25838,9 +25796,9 @@ local.get $outSize i32.const 2 call $~lib/rt/itcms/__new - local.tee $out|14 + local.tee $out|13 i32.store $0 offset=4 - local.get $out|14 + local.get $out|13 local.get $this local.get $outSize memory.copy $0 $0 @@ -25853,7 +25811,7 @@ i32.const -1 i32.xor if - local.get $out|14 + local.get $out|13 local.get $next i32.const 1 i32.shl @@ -25870,21 +25828,21 @@ br $while-continue|1 end end - local.get $out|14 - local.set $20 + local.get $out|13 + local.set $19 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $20 + local.get $19 return end i32.const 0 - local.set $out|15 + local.set $out|14 i32.const 0 - local.set $offset|16 + local.set $offset|15 local.get $thisLen - local.set $outSize|17 + local.set $outSize|16 loop $while-continue|2 local.get $this local.get $search @@ -25894,7 +25852,7 @@ i32.const -1 i32.xor if - local.get $out|15 + local.get $out|14 call $~lib/string/String.__not if global.get $~lib/memory/__stack_pointer @@ -25903,36 +25861,36 @@ i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $out|15 + local.tee $out|14 i32.store $0 offset=8 end local.get $next local.get $prev i32.sub local.set $chunk - local.get $offset|16 + local.get $offset|15 local.get $chunk i32.add local.get $replaceLen i32.add - local.get $outSize|17 + local.get $outSize|16 i32.gt_u if - local.get $outSize|17 + local.get $outSize|16 i32.const 1 i32.shl - local.set $outSize|17 + local.set $outSize|16 global.get $~lib/memory/__stack_pointer - local.get $out|15 - local.get $outSize|17 + local.get $out|14 + local.get $outSize|16 i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.tee $out|15 + local.tee $out|14 i32.store $0 offset=8 end - local.get $out|15 - local.get $offset|16 + local.get $out|14 + local.get $offset|15 i32.const 1 i32.shl i32.add @@ -25945,12 +25903,12 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $offset|16 + local.get $offset|15 local.get $chunk i32.add - local.set $offset|16 - local.get $out|15 - local.get $offset|16 + local.set $offset|15 + local.get $out|14 + local.get $offset|15 i32.const 1 i32.shl i32.add @@ -25959,10 +25917,10 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $offset|16 + local.get $offset|15 local.get $replaceLen i32.add - local.set $offset|16 + local.set $offset|15 local.get $next local.get $searchLen i32.add @@ -25970,35 +25928,35 @@ br $while-continue|2 end end - local.get $out|15 + local.get $out|14 if local.get $thisLen local.get $prev i32.sub local.set $rest - local.get $offset|16 + local.get $offset|15 local.get $rest i32.add - local.get $outSize|17 + local.get $outSize|16 i32.gt_u if - local.get $outSize|17 + local.get $outSize|16 i32.const 1 i32.shl - local.set $outSize|17 + local.set $outSize|16 global.get $~lib/memory/__stack_pointer - local.get $out|15 - local.get $outSize|17 + local.get $out|14 + local.get $outSize|16 i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.tee $out|15 + local.tee $out|14 i32.store $0 offset=8 end local.get $rest if - local.get $out|15 - local.get $offset|16 + local.get $out|14 + local.get $offset|15 i32.const 1 i32.shl i32.add @@ -26013,38 +25971,38 @@ memory.copy $0 $0 end local.get $rest - local.get $offset|16 + local.get $offset|15 i32.add local.set $rest - local.get $outSize|17 + local.get $outSize|16 local.get $rest i32.gt_u if global.get $~lib/memory/__stack_pointer - local.get $out|15 + local.get $out|14 local.get $rest i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.tee $out|15 + local.tee $out|14 i32.store $0 offset=8 end - local.get $out|15 - local.set $20 + local.get $out|14 + local.set $19 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $20 + local.get $19 return end local.get $this - local.set $20 + local.set $19 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $20 + local.get $19 ) (func $~lib/string/String#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $len i32) diff --git a/tests/compiler/std/symbol.debug.wat b/tests/compiler/std/symbol.debug.wat index f3a553ca9d..fef3d712a0 100644 --- a/tests/compiler/std/symbol.debug.wat +++ b/tests/compiler/std/symbol.debug.wat @@ -1212,15 +1212,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1281,17 +1279,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1303,22 +1299,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index 9f925432b6..fe67d383c2 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -1522,15 +1522,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1591,17 +1589,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1613,22 +1609,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -3334,7 +3328,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a f64) (local $b f64) (local $min f64) @@ -3371,8 +3364,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -3723,10 +3714,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a f64) (local $b f64) local.get $m @@ -3745,8 +3733,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -3777,8 +3763,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -3807,8 +3791,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -3880,27 +3862,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -4051,8 +4030,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -4092,13 +4069,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -4139,15 +4116,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -4166,16 +4143,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -4188,7 +4163,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -4202,17 +4177,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -4240,29 +4215,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -4274,10 +4247,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -4585,7 +4558,6 @@ (func $std/typedarray/isInt8ArrayEqual (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $i i32) (local $len i32) - (local $4 i32) local.get $a call $~lib/typedarray/Int8Array#get:length local.get $b @@ -4604,8 +4576,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $a local.get $i @@ -4636,7 +4606,6 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) local.get $start i32.const 0 i32.lt_s @@ -4728,8 +4697,6 @@ local.get $start local.get $end i32.lt_s - local.set $13 - local.get $13 if local.get $ptr local.get $start @@ -4798,7 +4765,6 @@ (func $std/typedarray/isInt32ArrayEqual (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $i i32) (local $len i32) - (local $4 i32) local.get $a call $~lib/typedarray/Int32Array#get:length local.get $b @@ -4817,8 +4783,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $a local.get $i @@ -5006,7 +4970,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $9 i32) local.get $this local.set $array local.get $fn @@ -5025,8 +4988,6 @@ local.get $i local.get $k i32.lt_s - local.set $9 - local.get $9 if local.get $initialValue|5 local.get $ptr @@ -5084,7 +5045,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $9 i32) local.get $this local.set $array local.get $fn @@ -5103,8 +5063,6 @@ local.get $i local.get $k i32.lt_s - local.set $9 - local.get $9 if local.get $initialValue|5 local.get $ptr @@ -5142,7 +5100,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $9 i32) local.get $this local.set $array local.get $fn @@ -5161,8 +5118,6 @@ local.get $i local.get $k i32.lt_s - local.set $9 - local.get $9 if local.get $initialValue|5 local.get $ptr @@ -5224,7 +5179,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $9 i32) local.get $this local.set $array local.get $fn @@ -5243,8 +5197,6 @@ local.get $i local.get $k i32.lt_s - local.set $9 - local.get $9 if local.get $initialValue|5 local.get $ptr @@ -5306,7 +5258,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $9 i32) local.get $this local.set $array local.get $fn @@ -5325,8 +5276,6 @@ local.get $i local.get $k i32.lt_s - local.set $9 - local.get $9 if local.get $initialValue|5 local.get $ptr @@ -5364,7 +5313,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $9 i32) local.get $this local.set $array local.get $fn @@ -5383,8 +5331,6 @@ local.get $i local.get $k i32.lt_s - local.set $9 - local.get $9 if local.get $initialValue|5 local.get $ptr @@ -5446,7 +5392,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $9 i32) local.get $this local.set $array local.get $fn @@ -5465,8 +5410,6 @@ local.get $i local.get $k i32.lt_s - local.set $9 - local.get $9 if local.get $initialValue|5 local.get $ptr @@ -5528,7 +5471,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $9 i32) local.get $this local.set $array local.get $fn @@ -5547,8 +5489,6 @@ local.get $i local.get $k i32.lt_s - local.set $9 - local.get $9 if local.get $initialValue|5 local.get $ptr @@ -5610,7 +5550,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $9 i32) local.get $this local.set $array local.get $fn @@ -5629,8 +5568,6 @@ local.get $i local.get $k i32.lt_s - local.set $9 - local.get $9 if local.get $initialValue|5 local.get $ptr @@ -5692,7 +5629,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $9 i32) local.get $this local.set $array local.get $fn @@ -5711,8 +5647,6 @@ local.get $i local.get $k i32.lt_s - local.set $9 - local.get $9 if local.get $initialValue|5 local.get $ptr @@ -5750,7 +5684,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $9 i32) local.get $this local.set $array local.get $fn @@ -5769,8 +5702,6 @@ local.get $i local.get $k i32.lt_s - local.set $9 - local.get $9 if local.get $initialValue|5 local.get $ptr @@ -7005,7 +6936,6 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - (local $8 i32) local.get $this local.set $array local.get $fn @@ -7024,8 +6954,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $8 - local.get $8 if local.get $initialValue|5 local.get $ptr @@ -7062,7 +6990,6 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - (local $8 i32) local.get $this local.set $array local.get $fn @@ -7081,8 +7008,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $8 - local.get $8 if local.get $initialValue|5 local.get $ptr @@ -7119,7 +7044,6 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - (local $8 i32) local.get $this local.set $array local.get $fn @@ -7138,8 +7062,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $8 - local.get $8 if local.get $initialValue|5 local.get $ptr @@ -7176,7 +7098,6 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - (local $8 i32) local.get $this local.set $array local.get $fn @@ -7195,8 +7116,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $8 - local.get $8 if local.get $initialValue|5 local.get $ptr @@ -7233,7 +7152,6 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - (local $8 i32) local.get $this local.set $array local.get $fn @@ -7252,8 +7170,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $8 - local.get $8 if local.get $initialValue|5 local.get $ptr @@ -7290,7 +7206,6 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - (local $8 i32) local.get $this local.set $array local.get $fn @@ -7309,8 +7224,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $8 - local.get $8 if local.get $initialValue|5 local.get $ptr @@ -7347,7 +7260,6 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - (local $8 i32) local.get $this local.set $array local.get $fn @@ -7366,8 +7278,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $8 - local.get $8 if local.get $initialValue|5 local.get $ptr @@ -7404,7 +7314,6 @@ (local $initialValue|5 i64) (local $ptr i32) (local $i i32) - (local $8 i32) local.get $this local.set $array local.get $fn @@ -7423,8 +7332,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $8 - local.get $8 if local.get $initialValue|5 local.get $ptr @@ -7461,7 +7368,6 @@ (local $initialValue|5 i64) (local $ptr i32) (local $i i32) - (local $8 i32) local.get $this local.set $array local.get $fn @@ -7480,8 +7386,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $8 - local.get $8 if local.get $initialValue|5 local.get $ptr @@ -7518,7 +7422,6 @@ (local $initialValue|5 f32) (local $ptr i32) (local $i i32) - (local $8 i32) local.get $this local.set $array local.get $fn @@ -7537,8 +7440,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $8 - local.get $8 if local.get $initialValue|5 local.get $ptr @@ -7575,7 +7476,6 @@ (local $initialValue|5 f64) (local $ptr i32) (local $i i32) - (local $8 i32) local.get $this local.set $array local.get $fn @@ -7594,8 +7494,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $8 - local.get $8 if local.get $initialValue|5 local.get $ptr @@ -7957,7 +7855,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) local.get $this local.set $array @@ -7975,8 +7872,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8024,7 +7919,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) local.get $this local.set $array @@ -8042,8 +7936,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8092,7 +7984,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) local.get $this local.set $array @@ -8110,8 +8001,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8159,7 +8048,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) local.get $this local.set $array @@ -8177,8 +8065,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8226,7 +8112,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) local.get $this local.set $array @@ -8244,8 +8129,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8292,7 +8175,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) local.get $this local.set $array @@ -8310,8 +8192,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8356,7 +8236,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) local.get $this local.set $array @@ -8374,8 +8253,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8420,7 +8297,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) local.get $this local.set $array @@ -8438,8 +8314,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8484,7 +8358,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) local.get $this local.set $array @@ -8502,8 +8375,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8548,7 +8419,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) local.get $this local.set $array @@ -8566,8 +8436,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8612,7 +8480,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) local.get $this local.set $array @@ -8630,8 +8497,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8677,7 +8542,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) local.get $this local.set $array @@ -8695,8 +8559,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8744,7 +8606,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) local.get $this local.set $array @@ -8762,8 +8623,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8812,7 +8671,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) local.get $this local.set $array @@ -8830,8 +8688,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8879,7 +8735,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) local.get $this local.set $array @@ -8897,8 +8752,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -8946,7 +8799,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) local.get $this local.set $array @@ -8964,8 +8816,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -9012,7 +8862,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) local.get $this local.set $array @@ -9030,8 +8879,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -9076,7 +8923,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) local.get $this local.set $array @@ -9094,8 +8940,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -9140,7 +8984,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) local.get $this local.set $array @@ -9158,8 +9001,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -9204,7 +9045,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) local.get $this local.set $array @@ -9222,8 +9062,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -9268,7 +9106,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) local.get $this local.set $array @@ -9286,8 +9123,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -9332,7 +9167,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) local.get $this local.set $array @@ -9350,8 +9184,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -9396,7 +9228,6 @@ (local $fn|3 i32) (local $ptr i32) (local $i i32) - (local $6 i32) block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) local.get $this local.set $array @@ -9414,8 +9245,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $6 - local.get $6 if local.get $ptr local.get $i @@ -9462,7 +9291,6 @@ (local $fn|3 i32) (local $ptr i32) (local $i i32) - (local $6 i32) block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) local.get $this local.set $array @@ -9480,8 +9308,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $6 - local.get $6 if local.get $ptr local.get $i @@ -9529,7 +9355,6 @@ (local $fn|3 i32) (local $ptr i32) (local $i i32) - (local $6 i32) block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) local.get $this local.set $array @@ -9547,8 +9372,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $6 - local.get $6 if local.get $ptr local.get $i @@ -9595,7 +9418,6 @@ (local $fn|3 i32) (local $ptr i32) (local $i i32) - (local $6 i32) block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) local.get $this local.set $array @@ -9613,8 +9435,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $6 - local.get $6 if local.get $ptr local.get $i @@ -9661,7 +9481,6 @@ (local $fn|3 i32) (local $ptr i32) (local $i i32) - (local $6 i32) block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) local.get $this local.set $array @@ -9679,8 +9498,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $6 - local.get $6 if local.get $ptr local.get $i @@ -9726,7 +9543,6 @@ (local $fn|3 i32) (local $ptr i32) (local $i i32) - (local $6 i32) block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) local.get $this local.set $array @@ -9744,8 +9560,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $6 - local.get $6 if local.get $ptr local.get $i @@ -9789,7 +9603,6 @@ (local $fn|3 i32) (local $ptr i32) (local $i i32) - (local $6 i32) block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) local.get $this local.set $array @@ -9807,8 +9620,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $6 - local.get $6 if local.get $ptr local.get $i @@ -9852,7 +9663,6 @@ (local $fn|3 i32) (local $ptr i32) (local $i i32) - (local $6 i32) block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) local.get $this local.set $array @@ -9870,8 +9680,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $6 - local.get $6 if local.get $ptr local.get $i @@ -9915,7 +9723,6 @@ (local $fn|3 i32) (local $ptr i32) (local $i i32) - (local $6 i32) block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) local.get $this local.set $array @@ -9933,8 +9740,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $6 - local.get $6 if local.get $ptr local.get $i @@ -9978,7 +9783,6 @@ (local $fn|3 i32) (local $ptr i32) (local $i i32) - (local $6 i32) block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) local.get $this local.set $array @@ -9996,8 +9800,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $6 - local.get $6 if local.get $ptr local.get $i @@ -10041,7 +9843,6 @@ (local $fn|3 i32) (local $ptr i32) (local $i i32) - (local $6 i32) block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) local.get $this local.set $array @@ -10059,8 +9860,6 @@ local.get $i i32.const 0 i32.ge_s - local.set $6 - local.get $6 if local.get $ptr local.get $i @@ -10108,7 +9907,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) local.get $this local.set $array @@ -10126,8 +9924,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if block $for-continue|0 local.get $ptr @@ -10180,7 +9976,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) local.get $this local.set $array @@ -10198,8 +9993,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if block $for-continue|0 local.get $ptr @@ -10253,7 +10046,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) local.get $this local.set $array @@ -10271,8 +10063,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if block $for-continue|0 local.get $ptr @@ -10325,7 +10115,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) local.get $this local.set $array @@ -10343,8 +10132,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if block $for-continue|0 local.get $ptr @@ -10397,7 +10184,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) local.get $this local.set $array @@ -10415,8 +10201,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if block $for-continue|0 local.get $ptr @@ -10468,7 +10252,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) local.get $this local.set $array @@ -10486,8 +10269,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if block $for-continue|0 local.get $ptr @@ -10537,7 +10318,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) local.get $this local.set $array @@ -10555,8 +10335,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if block $for-continue|0 local.get $ptr @@ -10606,7 +10384,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) local.get $this local.set $array @@ -10624,8 +10401,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if block $for-continue|0 local.get $ptr @@ -10675,7 +10450,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) local.get $this local.set $array @@ -10693,8 +10467,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if block $for-continue|0 local.get $ptr @@ -10992,7 +10764,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) local.get $this local.set $array @@ -11010,8 +10781,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if block $for-continue|0 local.get $ptr @@ -11315,7 +11084,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) local.get $this local.set $array @@ -11333,8 +11101,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if block $for-continue|0 local.get $ptr @@ -11377,7 +11143,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) local.get $this local.set $array local.get $fn @@ -11394,8 +11159,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -11424,7 +11187,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) local.get $this local.set $array local.get $fn @@ -11441,8 +11203,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -11471,7 +11231,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) local.get $this local.set $array local.get $fn @@ -11488,8 +11247,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -11518,7 +11275,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) local.get $this local.set $array local.get $fn @@ -11535,8 +11291,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -11565,7 +11319,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) local.get $this local.set $array local.get $fn @@ -11582,8 +11335,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -11612,7 +11363,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) local.get $this local.set $array local.get $fn @@ -11629,8 +11379,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -11659,7 +11407,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) local.get $this local.set $array local.get $fn @@ -11676,8 +11423,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -11706,7 +11451,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) local.get $this local.set $array local.get $fn @@ -11723,8 +11467,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -11753,7 +11495,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) local.get $this local.set $array local.get $fn @@ -11770,8 +11511,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -11800,7 +11539,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) local.get $this local.set $array local.get $fn @@ -11817,8 +11555,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -11847,7 +11583,6 @@ (local $ptr i32) (local $i i32) (local $k i32) - (local $7 i32) local.get $this local.set $array local.get $fn @@ -11864,8 +11599,6 @@ local.get $i local.get $k i32.lt_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -12727,7 +12460,6 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $sliced i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -12759,8 +12491,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -13392,7 +13122,6 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $sliced i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -13424,8 +13153,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -14058,7 +13785,6 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $sliced i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -14090,8 +13816,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -14722,7 +14446,6 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $sliced i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -14754,8 +14477,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -15387,7 +15108,6 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $sliced i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -15419,8 +15139,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -16049,7 +15767,6 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $sliced i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -16081,8 +15798,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -16709,7 +16424,6 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $sliced i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -16741,8 +16455,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -17369,7 +17081,6 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $sliced i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -17401,8 +17112,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -18030,7 +17739,6 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $sliced i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -18062,8 +17770,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -18691,7 +18397,6 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $sliced i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -18723,8 +18428,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -19352,7 +19055,6 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $sliced i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -19384,8 +19086,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -22143,26 +21843,24 @@ (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $length i32) (param $k i32) (result i32) (local $kk i32) (local $i i32) - (local $5 i32) (local $ptr i32) (local $offset i32) - (local $i|8 i32) - (local $9 i32) - (local $buffer|10 i32) - (local $k|11 i32) + (local $i|7 i32) + (local $buffer|8 i32) + (local $k|9 i32) (local $sign i32) (local $decimals i32) - (local $buffer|14 i32) + (local $buffer|12 i32) (local $num i32) - (local $offset|16 i32) + (local $offset|14 i32) (local $len i32) - (local $buffer|18 i32) - (local $k|19 i32) - (local $sign|20 i32) - (local $decimals|21 i32) - (local $buffer|22 i32) - (local $num|23 i32) - (local $offset|24 i32) + (local $buffer|16 i32) + (local $k|17 i32) + (local $sign|18 i32) + (local $decimals|19 i32) + (local $buffer|20 i32) + (local $num|21 i32) + (local $offset|22 i32) local.get $k i32.eqz if @@ -22203,8 +21901,6 @@ local.get $i local.get $kk i32.lt_s - local.set $5 - local.get $5 if local.get $buffer local.get $i @@ -22308,25 +22004,23 @@ i32.or i32.store $0 i32.const 2 - local.set $i|8 + local.set $i|7 loop $for-loop|1 - local.get $i|8 + local.get $i|7 local.get $offset i32.lt_s - local.set $9 - local.get $9 if local.get $buffer - local.get $i|8 + local.get $i|7 i32.const 1 i32.shl i32.add i32.const 48 i32.store16 $0 - local.get $i|8 + local.get $i|7 i32.const 1 i32.add - local.set $i|8 + local.set $i|7 br $for-loop|1 end end @@ -22345,42 +22039,42 @@ local.get $buffer i32.const 4 i32.add - local.set $buffer|10 + local.set $buffer|8 local.get $kk i32.const 1 i32.sub - local.set $k|11 - local.get $k|11 + local.set $k|9 + local.get $k|9 i32.const 0 i32.lt_s local.set $sign local.get $sign if i32.const 0 - local.get $k|11 + local.get $k|9 i32.sub - local.set $k|11 + local.set $k|9 end - local.get $k|11 + local.get $k|9 call $~lib/util/number/decimalCount32 i32.const 1 i32.add local.set $decimals - local.get $buffer|10 - local.set $buffer|14 - local.get $k|11 + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 local.set $num local.get $decimals - local.set $offset|16 + local.set $offset|14 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|14 + local.get $buffer|12 local.get $num - local.get $offset|16 + local.get $offset|14 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|10 + local.get $buffer|8 i32.const 45 i32.const 43 local.get $sign @@ -22421,48 +22115,48 @@ i32.add i32.const 4 i32.add - local.set $buffer|18 + local.set $buffer|16 local.get $kk i32.const 1 i32.sub - local.set $k|19 - local.get $k|19 + local.set $k|17 + local.get $k|17 i32.const 0 i32.lt_s - local.set $sign|20 - local.get $sign|20 + local.set $sign|18 + local.get $sign|18 if i32.const 0 - local.get $k|19 + local.get $k|17 i32.sub - local.set $k|19 + local.set $k|17 end - local.get $k|19 + local.get $k|17 call $~lib/util/number/decimalCount32 i32.const 1 i32.add - local.set $decimals|21 - local.get $buffer|18 - local.set $buffer|22 - local.get $k|19 - local.set $num|23 - local.get $decimals|21 - local.set $offset|24 + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|22 - local.get $num|23 - local.get $offset|24 + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|18 + local.get $buffer|16 i32.const 45 i32.const 43 - local.get $sign|20 + local.get $sign|18 select i32.store16 $0 - local.get $decimals|21 + local.get $decimals|19 i32.add local.set $length local.get $length @@ -23291,7 +22985,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -23346,8 +23039,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -23413,7 +23104,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f32) local.get $this @@ -23468,8 +23158,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -23518,7 +23206,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i64) local.get $this @@ -23573,8 +23260,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -23625,7 +23310,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f64) local.get $this @@ -23680,8 +23364,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -23789,7 +23471,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -23844,8 +23525,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -23942,7 +23621,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -23997,8 +23675,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -24064,7 +23740,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f32) local.get $this @@ -24119,8 +23794,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -24169,7 +23842,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i64) local.get $this @@ -24224,8 +23896,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -24264,7 +23934,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f64) local.get $this @@ -24319,8 +23988,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -24428,7 +24095,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -24483,8 +24149,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -24581,7 +24245,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -24636,8 +24299,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -24701,7 +24362,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f32) local.get $this @@ -24756,8 +24416,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -24809,7 +24467,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i64) local.get $this @@ -24864,8 +24521,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -24926,7 +24581,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f64) local.get $this @@ -24981,8 +24635,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -25093,7 +24745,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -25148,8 +24799,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -25206,7 +24855,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -25260,8 +24908,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -25318,7 +24964,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -25373,8 +25018,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -25442,7 +25085,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f32) local.get $this @@ -25497,8 +25139,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -25547,7 +25187,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i64) local.get $this @@ -25602,8 +25241,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -25642,7 +25279,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f64) local.get $this @@ -25697,8 +25333,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -25747,7 +25381,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -25802,8 +25435,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -25900,7 +25531,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -25955,8 +25585,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -25994,7 +25622,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -26049,8 +25676,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -26118,7 +25743,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f32) local.get $this @@ -26173,8 +25797,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -26223,7 +25845,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i64) local.get $this @@ -26278,8 +25899,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -26318,7 +25937,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f64) local.get $this @@ -26373,8 +25991,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -26423,7 +26039,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -26478,8 +26093,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -26576,7 +26189,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -26631,8 +26243,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -26747,7 +26357,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f32) local.get $this @@ -26802,8 +26411,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -26852,7 +26459,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i64) local.get $this @@ -26907,8 +26513,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -26947,7 +26551,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f64) local.get $this @@ -27002,8 +26605,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -27052,7 +26653,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -27107,8 +26707,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -27146,7 +26744,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -27201,8 +26798,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -27240,7 +26835,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -27295,8 +26889,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -27423,7 +27015,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f32) local.get $this @@ -27478,8 +27069,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -27528,7 +27117,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i64) local.get $this @@ -27583,8 +27171,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -27623,7 +27209,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f64) local.get $this @@ -27678,8 +27263,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -27728,7 +27311,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -27783,8 +27365,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -27822,7 +27402,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -27877,8 +27456,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -27916,7 +27493,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -27971,8 +27547,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -28010,7 +27584,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -28065,8 +27638,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -28135,7 +27706,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f32) local.get $this @@ -28190,8 +27760,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -28299,7 +27867,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f64) local.get $this @@ -28354,8 +27921,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -28404,7 +27969,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -28459,8 +28023,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -28499,7 +28061,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -28554,8 +28115,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -28594,7 +28153,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -28649,8 +28207,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -28689,7 +28245,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -28744,8 +28299,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -28814,7 +28367,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f32) local.get $this @@ -28869,8 +28421,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -28978,7 +28528,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f64) local.get $this @@ -29033,8 +28582,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -29083,7 +28630,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -29138,8 +28684,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -29178,7 +28722,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -29233,8 +28776,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -29273,7 +28814,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -29328,8 +28868,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -29368,7 +28906,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -29423,8 +28960,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -29540,7 +29075,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i64) local.get $this @@ -29595,8 +29129,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -29635,7 +29167,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -29690,8 +29221,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -29730,7 +29259,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -29785,8 +29313,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -29825,7 +29351,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -29880,8 +29405,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -29920,7 +29443,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -29975,8 +29497,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -30033,7 +29553,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f32) local.get $this @@ -30088,8 +29607,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -30129,7 +29646,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i64) local.get $this @@ -30184,8 +29700,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -30224,7 +29738,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -30279,8 +29792,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -30319,7 +29830,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -30374,8 +29884,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -30414,7 +29922,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -30469,8 +29976,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -30509,7 +30014,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value f32) local.get $this @@ -30564,8 +30068,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -30617,7 +30119,6 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) local.get $this @@ -30672,8 +30173,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -30730,11 +30229,10 @@ (local $targetStart i32) (local $sourceStart i32) (local $i i32) - (local $10 i32) (local $ptr i32) (local $value i32) + (local $12 i32) (local $13 i32) - (local $14 i32) local.get $this local.set $target local.get $source @@ -30787,8 +30285,6 @@ local.get $i local.get $sourceLen i32.lt_s - local.set $10 - local.get $10 if local.get $targetStart local.get $i @@ -30812,11 +30308,11 @@ drop local.get $ptr i32.const 255 - local.tee $13 + local.tee $12 local.get $value - local.tee $14 + local.tee $13 + local.get $12 local.get $13 - local.get $14 i32.lt_u select i32.store8 $0 @@ -30831,7 +30327,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -30868,8 +30363,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -31170,10 +30663,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) local.get $m @@ -31192,8 +30682,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -31224,8 +30712,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -31254,8 +30740,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -31327,27 +30811,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -31498,8 +30979,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -31539,13 +31018,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -31586,15 +31065,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -31613,16 +31092,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -31635,7 +31112,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -31649,17 +31126,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -31687,29 +31164,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -31721,10 +31196,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -31765,7 +31240,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -31802,8 +31276,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -32104,10 +31576,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) local.get $m @@ -32126,8 +31595,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -32158,8 +31625,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -32188,8 +31653,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -32261,27 +31724,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -32432,8 +31892,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -32473,13 +31931,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -32520,15 +31978,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -32547,16 +32005,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -32569,7 +32025,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -32583,17 +32039,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -32621,29 +32077,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -32655,10 +32109,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -32756,7 +32210,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -32793,8 +32246,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -33095,10 +32546,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) local.get $m @@ -33117,8 +32565,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -33149,8 +32595,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -33179,8 +32623,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -33252,27 +32694,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -33423,8 +32862,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -33464,13 +32901,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -33511,15 +32948,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -33538,16 +32975,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -33560,7 +32995,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -33574,17 +33009,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -33612,29 +33047,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -33646,10 +33079,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -33690,7 +33123,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -33727,8 +33159,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -34029,10 +33459,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) local.get $m @@ -34051,8 +33478,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -34083,8 +33508,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -34113,8 +33536,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -34186,27 +33607,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -34357,8 +33775,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -34398,13 +33814,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -34445,15 +33861,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -34472,16 +33888,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -34494,7 +33908,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -34508,17 +33922,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -34546,29 +33960,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -34580,10 +33992,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -34638,7 +34050,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -34675,8 +34086,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -34977,10 +34386,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) local.get $m @@ -34999,8 +34405,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -35031,8 +34435,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -35061,8 +34463,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -35134,27 +34534,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -35305,8 +34702,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -35346,13 +34741,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -35393,15 +34788,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -35420,16 +34815,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -35442,7 +34835,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -35456,17 +34849,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -35494,29 +34887,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -35528,10 +34919,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -35566,7 +34957,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i32) (local $b i32) (local $min i32) @@ -35603,8 +34993,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -35905,10 +35293,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i32) (local $b i32) local.get $m @@ -35927,8 +35312,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -35959,8 +35342,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -35989,8 +35370,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -36062,27 +35441,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -36233,8 +35609,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -36274,13 +35648,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -36321,15 +35695,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -36348,16 +35722,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -36370,7 +35742,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -36384,17 +35756,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -36422,29 +35794,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -36456,10 +35826,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -36498,7 +35868,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i64) (local $b i64) (local $min i64) @@ -36535,8 +35904,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -36837,10 +36204,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i64) (local $b i64) local.get $m @@ -36859,8 +36223,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -36891,8 +36253,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -36921,8 +36281,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -36994,27 +36352,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -37165,8 +36520,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -37206,13 +36559,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -37253,15 +36606,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -37280,16 +36633,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -37302,7 +36653,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -37316,17 +36667,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -37354,29 +36705,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -37388,10 +36737,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -37430,7 +36779,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a i64) (local $b i64) (local $min i64) @@ -37467,8 +36815,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -37769,10 +37115,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a i64) (local $b i64) local.get $m @@ -37791,8 +37134,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -37823,8 +37164,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -37853,8 +37192,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -37926,27 +37263,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -38097,8 +37431,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -38138,13 +37470,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -38185,15 +37517,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -38212,16 +37544,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -38234,7 +37564,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -38248,17 +37578,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -38286,29 +37616,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -38320,10 +37648,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -38362,7 +37690,6 @@ (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) - (local $7 i32) (local $a f32) (local $b f32) (local $min f32) @@ -38399,8 +37726,6 @@ local.get $i local.get $right i32.le_s - local.set $7 - local.get $7 if local.get $ptr local.get $i @@ -38701,10 +38026,7 @@ (local $i i32) (local $j i32) (local $t i32) - (local $9 i32) - (local $10 i32) (local $k i32) - (local $12 i32) (local $a f32) (local $b f32) local.get $m @@ -38723,8 +38045,6 @@ local.get $i local.get $l i32.gt_s - local.set $9 - local.get $9 if local.get $buffer local.get $i @@ -38755,8 +38075,6 @@ local.get $j local.get $r i32.lt_s - local.set $10 - local.get $10 if local.get $buffer local.get $t @@ -38785,8 +38103,6 @@ local.get $k local.get $r i32.le_s - local.set $12 - local.get $12 if local.get $buffer local.get $j @@ -38858,27 +38174,24 @@ (local $leftRunStartBuf i32) (local $leftRunEndBuf i32) (local $i i32) - (local $16 i32) (local $buffer i32) (local $hi i32) (local $endA i32) (local $lenA i32) + (local $20 i32) (local $21 i32) - (local $22 i32) (local $top i32) (local $startA i32) (local $startB i32) (local $endB i32) (local $lenB i32) + (local $27 i32) (local $28 i32) - (local $29 i32) (local $k i32) - (local $i|31 i32) - (local $32 i32) + (local $i|30 i32) (local $start i32) - (local $i|34 i32) - (local $35 i32) - (local $start|36 i32) + (local $i|32 i32) + (local $start|33 i32) local.get $len i32.const 48 i32.le_s @@ -39029,8 +38342,6 @@ local.get $i local.get $lgPlus2 i32.lt_u - local.set $16 - local.get $16 if local.get $leftRunStartBuf local.get $i @@ -39070,13 +38381,13 @@ i32.lt_s if local.get $hi - local.tee $21 + local.tee $20 i32.const 32 i32.const 1 i32.sub - local.tee $22 + local.tee $21 + local.get $20 local.get $21 - local.get $22 i32.lt_s select local.set $endA @@ -39117,15 +38428,15 @@ i32.lt_s if local.get $hi - local.tee $28 + local.tee $27 local.get $startB i32.const 32 i32.add i32.const 1 i32.sub - local.tee $29 + local.tee $28 + local.get $27 local.get $28 - local.get $29 i32.lt_s select local.set $endB @@ -39144,16 +38455,14 @@ call $~lib/util/sort/nodePower local.set $k local.get $top - local.set $i|31 + local.set $i|30 loop $for-loop|3 - local.get $i|31 + local.get $i|30 local.get $k i32.gt_u - local.set $32 - local.get $32 if local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -39166,7 +38475,7 @@ local.get $ptr local.get $start local.get $leftRunEndBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add @@ -39180,17 +38489,17 @@ local.get $start local.set $startA local.get $leftRunStartBuf - local.get $i|31 + local.get $i|30 i32.const 2 i32.shl i32.add i32.const -1 i32.store $0 end - local.get $i|31 + local.get $i|30 i32.const 1 i32.sub - local.set $i|31 + local.set $i|30 br $for-loop|3 end end @@ -39218,29 +38527,27 @@ end end local.get $top - local.set $i|34 + local.set $i|32 loop $for-loop|4 - local.get $i|34 + local.get $i|32 i32.const 0 i32.ne - local.set $35 - local.get $35 if local.get $leftRunStartBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $start|36 - local.get $start|36 + local.set $start|33 + local.get $start|33 i32.const -1 i32.ne if local.get $ptr - local.get $start|36 + local.get $start|33 local.get $leftRunEndBuf - local.get $i|34 + local.get $i|32 i32.const 2 i32.shl i32.add @@ -39252,10 +38559,10 @@ local.get $comparator call $~lib/util/sort/mergeRuns end - local.get $i|34 + local.get $i|32 i32.const 1 i32.sub - local.set $i|34 + local.set $i|32 br $for-loop|4 end end @@ -49914,11 +49221,9 @@ (local $array i32) (local $arrayWithOffset i32) (local $i i32) - (local $5 i32) - (local $i|6 i32) - (local $7 i32) + (local $i|5 i32) (local $reversedSlice i32) - (local $9 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -49953,8 +49258,6 @@ local.get $i local.get $length i32.lt_s - local.set $5 - local.get $5 if local.get $array local.get $i @@ -49981,22 +49284,20 @@ call $~lib/typedarray/Int8Array#reverse drop i32.const 0 - local.set $i|6 + local.set $i|5 loop $for-loop|1 - local.get $i|6 + local.get $i|5 local.get $length i32.lt_s - local.set $7 - local.get $7 if local.get $array - local.get $i|6 + local.get $i|5 call $~lib/typedarray/Int8Array#__get local.get $values local.get $length i32.const 1 i32.sub - local.get $i|6 + local.get $i|5 i32.sub call $~lib/array/Array#__get i32.extend8_s @@ -50010,10 +49311,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|6 + local.get $i|5 i32.const 1 i32.add - local.set $i|6 + local.set $i|5 br $for-loop|1 end end @@ -50022,11 +49323,11 @@ i32.const 4 i32.const 8 call $~lib/typedarray/Int8Array#subarray - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=12 - local.get $9 + local.get $7 call $~lib/typedarray/Int8Array#reverse local.tee $reversedSlice i32.store $0 offset=16 @@ -50097,11 +49398,9 @@ (local $array i32) (local $arrayWithOffset i32) (local $i i32) - (local $5 i32) - (local $i|6 i32) - (local $7 i32) + (local $i|5 i32) (local $reversedSlice i32) - (local $9 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -50136,8 +49435,6 @@ local.get $i local.get $length i32.lt_s - local.set $5 - local.get $5 if local.get $array local.get $i @@ -50166,22 +49463,20 @@ call $~lib/typedarray/Uint8Array#reverse drop i32.const 0 - local.set $i|6 + local.set $i|5 loop $for-loop|1 - local.get $i|6 + local.get $i|5 local.get $length i32.lt_s - local.set $7 - local.get $7 if local.get $array - local.get $i|6 + local.get $i|5 call $~lib/typedarray/Uint8Array#__get local.get $values local.get $length i32.const 1 i32.sub - local.get $i|6 + local.get $i|5 i32.sub call $~lib/array/Array#__get i32.const 255 @@ -50196,10 +49491,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|6 + local.get $i|5 i32.const 1 i32.add - local.set $i|6 + local.set $i|5 br $for-loop|1 end end @@ -50208,11 +49503,11 @@ i32.const 4 i32.const 8 call $~lib/typedarray/Uint8Array#subarray - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=12 - local.get $9 + local.get $7 call $~lib/typedarray/Uint8Array#reverse local.tee $reversedSlice i32.store $0 offset=16 @@ -50283,11 +49578,9 @@ (local $array i32) (local $arrayWithOffset i32) (local $i i32) - (local $5 i32) - (local $i|6 i32) - (local $7 i32) + (local $i|5 i32) (local $reversedSlice i32) - (local $9 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -50322,8 +49615,6 @@ local.get $i local.get $length i32.lt_s - local.set $5 - local.get $5 if local.get $array local.get $i @@ -50352,22 +49643,20 @@ call $~lib/typedarray/Uint8ClampedArray#reverse drop i32.const 0 - local.set $i|6 + local.set $i|5 loop $for-loop|1 - local.get $i|6 + local.get $i|5 local.get $length i32.lt_s - local.set $7 - local.get $7 if local.get $array - local.get $i|6 + local.get $i|5 call $~lib/typedarray/Uint8ClampedArray#__get local.get $values local.get $length i32.const 1 i32.sub - local.get $i|6 + local.get $i|5 i32.sub call $~lib/array/Array#__get i32.const 255 @@ -50382,10 +49671,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|6 + local.get $i|5 i32.const 1 i32.add - local.set $i|6 + local.set $i|5 br $for-loop|1 end end @@ -50394,11 +49683,11 @@ i32.const 4 i32.const 8 call $~lib/typedarray/Uint8ClampedArray#subarray - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=12 - local.get $9 + local.get $7 call $~lib/typedarray/Uint8ClampedArray#reverse local.tee $reversedSlice i32.store $0 offset=16 @@ -50469,11 +49758,9 @@ (local $array i32) (local $arrayWithOffset i32) (local $i i32) - (local $5 i32) - (local $i|6 i32) - (local $7 i32) + (local $i|5 i32) (local $reversedSlice i32) - (local $9 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -50508,8 +49795,6 @@ local.get $i local.get $length i32.lt_s - local.set $5 - local.get $5 if local.get $array local.get $i @@ -50536,22 +49821,20 @@ call $~lib/typedarray/Int16Array#reverse drop i32.const 0 - local.set $i|6 + local.set $i|5 loop $for-loop|1 - local.get $i|6 + local.get $i|5 local.get $length i32.lt_s - local.set $7 - local.get $7 if local.get $array - local.get $i|6 + local.get $i|5 call $~lib/typedarray/Int16Array#__get local.get $values local.get $length i32.const 1 i32.sub - local.get $i|6 + local.get $i|5 i32.sub call $~lib/array/Array#__get i32.extend16_s @@ -50565,10 +49848,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|6 + local.get $i|5 i32.const 1 i32.add - local.set $i|6 + local.set $i|5 br $for-loop|1 end end @@ -50577,11 +49860,11 @@ i32.const 4 i32.const 8 call $~lib/typedarray/Int16Array#subarray - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=12 - local.get $9 + local.get $7 call $~lib/typedarray/Int16Array#reverse local.tee $reversedSlice i32.store $0 offset=16 @@ -50652,11 +49935,9 @@ (local $array i32) (local $arrayWithOffset i32) (local $i i32) - (local $5 i32) - (local $i|6 i32) - (local $7 i32) + (local $i|5 i32) (local $reversedSlice i32) - (local $9 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -50691,8 +49972,6 @@ local.get $i local.get $length i32.lt_s - local.set $5 - local.get $5 if local.get $array local.get $i @@ -50721,22 +50000,20 @@ call $~lib/typedarray/Uint16Array#reverse drop i32.const 0 - local.set $i|6 + local.set $i|5 loop $for-loop|1 - local.get $i|6 + local.get $i|5 local.get $length i32.lt_s - local.set $7 - local.get $7 if local.get $array - local.get $i|6 + local.get $i|5 call $~lib/typedarray/Uint16Array#__get local.get $values local.get $length i32.const 1 i32.sub - local.get $i|6 + local.get $i|5 i32.sub call $~lib/array/Array#__get i32.const 65535 @@ -50751,10 +50028,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|6 + local.get $i|5 i32.const 1 i32.add - local.set $i|6 + local.set $i|5 br $for-loop|1 end end @@ -50763,11 +50040,11 @@ i32.const 4 i32.const 8 call $~lib/typedarray/Uint16Array#subarray - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=12 - local.get $9 + local.get $7 call $~lib/typedarray/Uint16Array#reverse local.tee $reversedSlice i32.store $0 offset=16 @@ -50838,11 +50115,9 @@ (local $array i32) (local $arrayWithOffset i32) (local $i i32) - (local $5 i32) - (local $i|6 i32) - (local $7 i32) + (local $i|5 i32) (local $reversedSlice i32) - (local $9 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -50877,8 +50152,6 @@ local.get $i local.get $length i32.lt_s - local.set $5 - local.get $5 if local.get $array local.get $i @@ -50903,22 +50176,20 @@ call $~lib/typedarray/Int32Array#reverse drop i32.const 0 - local.set $i|6 + local.set $i|5 loop $for-loop|1 - local.get $i|6 + local.get $i|5 local.get $length i32.lt_s - local.set $7 - local.get $7 if local.get $array - local.get $i|6 + local.get $i|5 call $~lib/typedarray/Int32Array#__get local.get $values local.get $length i32.const 1 i32.sub - local.get $i|6 + local.get $i|5 i32.sub call $~lib/array/Array#__get i32.eq @@ -50931,10 +50202,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|6 + local.get $i|5 i32.const 1 i32.add - local.set $i|6 + local.set $i|5 br $for-loop|1 end end @@ -50943,11 +50214,11 @@ i32.const 4 i32.const 8 call $~lib/typedarray/Int32Array#subarray - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=12 - local.get $9 + local.get $7 call $~lib/typedarray/Int32Array#reverse local.tee $reversedSlice i32.store $0 offset=16 @@ -51018,11 +50289,9 @@ (local $array i32) (local $arrayWithOffset i32) (local $i i32) - (local $5 i32) - (local $i|6 i32) - (local $7 i32) + (local $i|5 i32) (local $reversedSlice i32) - (local $9 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -51057,8 +50326,6 @@ local.get $i local.get $length i32.lt_s - local.set $5 - local.get $5 if local.get $array local.get $i @@ -51083,22 +50350,20 @@ call $~lib/typedarray/Uint32Array#reverse drop i32.const 0 - local.set $i|6 + local.set $i|5 loop $for-loop|1 - local.get $i|6 + local.get $i|5 local.get $length i32.lt_s - local.set $7 - local.get $7 if local.get $array - local.get $i|6 + local.get $i|5 call $~lib/typedarray/Uint32Array#__get local.get $values local.get $length i32.const 1 i32.sub - local.get $i|6 + local.get $i|5 i32.sub call $~lib/array/Array#__get i32.eq @@ -51111,10 +50376,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|6 + local.get $i|5 i32.const 1 i32.add - local.set $i|6 + local.set $i|5 br $for-loop|1 end end @@ -51123,11 +50388,11 @@ i32.const 4 i32.const 8 call $~lib/typedarray/Uint32Array#subarray - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=12 - local.get $9 + local.get $7 call $~lib/typedarray/Uint32Array#reverse local.tee $reversedSlice i32.store $0 offset=16 @@ -51198,11 +50463,9 @@ (local $array i32) (local $arrayWithOffset i32) (local $i i32) - (local $5 i32) - (local $i|6 i32) - (local $7 i32) + (local $i|5 i32) (local $reversedSlice i32) - (local $9 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -51237,8 +50500,6 @@ local.get $i local.get $length i32.lt_s - local.set $5 - local.get $5 if local.get $array local.get $i @@ -51265,22 +50526,20 @@ call $~lib/typedarray/Int64Array#reverse drop i32.const 0 - local.set $i|6 + local.set $i|5 loop $for-loop|1 - local.get $i|6 + local.get $i|5 local.get $length i32.lt_s - local.set $7 - local.get $7 if local.get $array - local.get $i|6 + local.get $i|5 call $~lib/typedarray/Int64Array#__get local.get $values local.get $length i32.const 1 i32.sub - local.get $i|6 + local.get $i|5 i32.sub call $~lib/array/Array#__get i64.extend_i32_s @@ -51294,10 +50553,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|6 + local.get $i|5 i32.const 1 i32.add - local.set $i|6 + local.set $i|5 br $for-loop|1 end end @@ -51306,11 +50565,11 @@ i32.const 4 i32.const 8 call $~lib/typedarray/Int64Array#subarray - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=12 - local.get $9 + local.get $7 call $~lib/typedarray/Int64Array#reverse local.tee $reversedSlice i32.store $0 offset=16 @@ -51381,11 +50640,9 @@ (local $array i32) (local $arrayWithOffset i32) (local $i i32) - (local $5 i32) - (local $i|6 i32) - (local $7 i32) + (local $i|5 i32) (local $reversedSlice i32) - (local $9 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -51420,8 +50677,6 @@ local.get $i local.get $length i32.lt_s - local.set $5 - local.get $5 if local.get $array local.get $i @@ -51448,22 +50703,20 @@ call $~lib/typedarray/Uint64Array#reverse drop i32.const 0 - local.set $i|6 + local.set $i|5 loop $for-loop|1 - local.get $i|6 + local.get $i|5 local.get $length i32.lt_s - local.set $7 - local.get $7 if local.get $array - local.get $i|6 + local.get $i|5 call $~lib/typedarray/Uint64Array#__get local.get $values local.get $length i32.const 1 i32.sub - local.get $i|6 + local.get $i|5 i32.sub call $~lib/array/Array#__get i64.extend_i32_s @@ -51477,10 +50730,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|6 + local.get $i|5 i32.const 1 i32.add - local.set $i|6 + local.set $i|5 br $for-loop|1 end end @@ -51489,11 +50742,11 @@ i32.const 4 i32.const 8 call $~lib/typedarray/Uint64Array#subarray - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=12 - local.get $9 + local.get $7 call $~lib/typedarray/Uint64Array#reverse local.tee $reversedSlice i32.store $0 offset=16 @@ -51564,11 +50817,9 @@ (local $array i32) (local $arrayWithOffset i32) (local $i i32) - (local $5 i32) - (local $i|6 i32) - (local $7 i32) + (local $i|5 i32) (local $reversedSlice i32) - (local $9 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -51603,8 +50854,6 @@ local.get $i local.get $length i32.lt_s - local.set $5 - local.get $5 if local.get $array local.get $i @@ -51631,22 +50880,20 @@ call $~lib/typedarray/Float32Array#reverse drop i32.const 0 - local.set $i|6 + local.set $i|5 loop $for-loop|1 - local.get $i|6 + local.get $i|5 local.get $length i32.lt_s - local.set $7 - local.get $7 if local.get $array - local.get $i|6 + local.get $i|5 call $~lib/typedarray/Float32Array#__get local.get $values local.get $length i32.const 1 i32.sub - local.get $i|6 + local.get $i|5 i32.sub call $~lib/array/Array#__get f32.convert_i32_s @@ -51660,10 +50907,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|6 + local.get $i|5 i32.const 1 i32.add - local.set $i|6 + local.set $i|5 br $for-loop|1 end end @@ -51672,11 +50919,11 @@ i32.const 4 i32.const 8 call $~lib/typedarray/Float32Array#subarray - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=12 - local.get $9 + local.get $7 call $~lib/typedarray/Float32Array#reverse local.tee $reversedSlice i32.store $0 offset=16 @@ -51747,11 +50994,9 @@ (local $array i32) (local $arrayWithOffset i32) (local $i i32) - (local $5 i32) - (local $i|6 i32) - (local $7 i32) + (local $i|5 i32) (local $reversedSlice i32) - (local $9 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -51786,8 +51031,6 @@ local.get $i local.get $length i32.lt_s - local.set $5 - local.get $5 if local.get $array local.get $i @@ -51814,22 +51057,20 @@ call $~lib/typedarray/Float64Array#reverse drop i32.const 0 - local.set $i|6 + local.set $i|5 loop $for-loop|1 - local.get $i|6 + local.get $i|5 local.get $length i32.lt_s - local.set $7 - local.get $7 if local.get $array - local.get $i|6 + local.get $i|5 call $~lib/typedarray/Float64Array#__get local.get $values local.get $length i32.const 1 i32.sub - local.get $i|6 + local.get $i|5 i32.sub call $~lib/array/Array#__get f64.convert_i32_s @@ -51843,10 +51084,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|6 + local.get $i|5 i32.const 1 i32.add - local.set $i|6 + local.set $i|5 br $for-loop|1 end end @@ -51855,11 +51096,11 @@ i32.const 4 i32.const 8 call $~lib/typedarray/Float64Array#subarray - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=12 - local.get $9 + local.get $7 call $~lib/typedarray/Float64Array#reverse local.tee $reversedSlice i32.store $0 offset=16 @@ -53293,12 +52534,10 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $buffer i32) (local $result i32) - (local $i|7 i32) - (local $8 i32) - (local $9 i32) + (local $i|6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -53327,8 +52566,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -53347,11 +52584,11 @@ global.get $~lib/memory/__stack_pointer local.get $array call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=8 - local.get $9 + local.get $7 local.get $array call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array @@ -53374,19 +52611,17 @@ local.tee $result i32.store $0 offset=16 i32.const 0 - local.set $i|7 + local.set $i|6 loop $for-loop|1 - local.get $i|7 + local.get $i|6 local.get $length i32.lt_s - local.set $8 - local.get $8 if local.get $array - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Int8Array#__get local.get $result - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Int8Array#__get i32.eq i32.eqz @@ -53398,10 +52633,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|7 + local.get $i|6 i32.const 1 i32.add - local.set $i|7 + local.set $i|6 br $for-loop|1 end end @@ -53415,12 +52650,10 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $buffer i32) (local $result i32) - (local $i|7 i32) - (local $8 i32) - (local $9 i32) + (local $i|6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -53449,8 +52682,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -53470,11 +52701,11 @@ global.get $~lib/memory/__stack_pointer local.get $array call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=8 - local.get $9 + local.get $7 local.get $array call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array @@ -53499,19 +52730,17 @@ local.tee $result i32.store $0 offset=16 i32.const 0 - local.set $i|7 + local.set $i|6 loop $for-loop|1 - local.get $i|7 + local.get $i|6 local.get $length i32.lt_s - local.set $8 - local.get $8 if local.get $array - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Uint8Array#__get local.get $result - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Uint8Array#__get i32.eq i32.eqz @@ -53523,10 +52752,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|7 + local.get $i|6 i32.const 1 i32.add - local.set $i|7 + local.set $i|6 br $for-loop|1 end end @@ -53540,12 +52769,10 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $buffer i32) (local $result i32) - (local $i|7 i32) - (local $8 i32) - (local $9 i32) + (local $i|6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -53574,8 +52801,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -53595,11 +52820,11 @@ global.get $~lib/memory/__stack_pointer local.get $array call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=8 - local.get $9 + local.get $7 local.get $array call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array @@ -53626,19 +52851,17 @@ local.tee $result i32.store $0 offset=16 i32.const 0 - local.set $i|7 + local.set $i|6 loop $for-loop|1 - local.get $i|7 + local.get $i|6 local.get $length i32.lt_s - local.set $8 - local.get $8 if local.get $array - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Uint8ClampedArray#__get local.get $result - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Uint8ClampedArray#__get i32.eq i32.eqz @@ -53650,10 +52873,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|7 + local.get $i|6 i32.const 1 i32.add - local.set $i|7 + local.set $i|6 br $for-loop|1 end end @@ -53667,12 +52890,10 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $buffer i32) (local $result i32) - (local $i|7 i32) - (local $8 i32) - (local $9 i32) + (local $i|6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -53701,8 +52922,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -53721,11 +52940,11 @@ global.get $~lib/memory/__stack_pointer local.get $array call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=8 - local.get $9 + local.get $7 local.get $array call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array @@ -53754,19 +52973,17 @@ local.tee $result i32.store $0 offset=16 i32.const 0 - local.set $i|7 + local.set $i|6 loop $for-loop|1 - local.get $i|7 + local.get $i|6 local.get $length i32.lt_s - local.set $8 - local.get $8 if local.get $array - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Int16Array#__get local.get $result - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Int16Array#__get i32.eq i32.eqz @@ -53778,10 +52995,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|7 + local.get $i|6 i32.const 1 i32.add - local.set $i|7 + local.set $i|6 br $for-loop|1 end end @@ -53795,12 +53012,10 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $buffer i32) (local $result i32) - (local $i|7 i32) - (local $8 i32) - (local $9 i32) + (local $i|6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -53829,8 +53044,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -53850,11 +53063,11 @@ global.get $~lib/memory/__stack_pointer local.get $array call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=8 - local.get $9 + local.get $7 local.get $array call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array @@ -53885,19 +53098,17 @@ local.tee $result i32.store $0 offset=16 i32.const 0 - local.set $i|7 + local.set $i|6 loop $for-loop|1 - local.get $i|7 + local.get $i|6 local.get $length i32.lt_s - local.set $8 - local.get $8 if local.get $array - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Uint16Array#__get local.get $result - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Uint16Array#__get i32.eq i32.eqz @@ -53909,10 +53120,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|7 + local.get $i|6 i32.const 1 i32.add - local.set $i|7 + local.set $i|6 br $for-loop|1 end end @@ -53926,12 +53137,10 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $buffer i32) (local $result i32) - (local $i|7 i32) - (local $8 i32) - (local $9 i32) + (local $i|6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -53960,8 +53169,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -53979,11 +53186,11 @@ global.get $~lib/memory/__stack_pointer local.get $array call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=8 - local.get $9 + local.get $7 local.get $array call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array @@ -54016,19 +53223,17 @@ local.tee $result i32.store $0 offset=16 i32.const 0 - local.set $i|7 + local.set $i|6 loop $for-loop|1 - local.get $i|7 + local.get $i|6 local.get $length i32.lt_s - local.set $8 - local.get $8 if local.get $array - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Int32Array#__get local.get $result - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Int32Array#__get i32.eq i32.eqz @@ -54040,10 +53245,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|7 + local.get $i|6 i32.const 1 i32.add - local.set $i|7 + local.set $i|6 br $for-loop|1 end end @@ -54057,12 +53262,10 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $buffer i32) (local $result i32) - (local $i|7 i32) - (local $8 i32) - (local $9 i32) + (local $i|6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -54091,8 +53294,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -54110,11 +53311,11 @@ global.get $~lib/memory/__stack_pointer local.get $array call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=8 - local.get $9 + local.get $7 local.get $array call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array @@ -54149,19 +53350,17 @@ local.tee $result i32.store $0 offset=16 i32.const 0 - local.set $i|7 + local.set $i|6 loop $for-loop|1 - local.get $i|7 + local.get $i|6 local.get $length i32.lt_s - local.set $8 - local.get $8 if local.get $array - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Uint32Array#__get local.get $result - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Uint32Array#__get i32.eq i32.eqz @@ -54173,10 +53372,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|7 + local.get $i|6 i32.const 1 i32.add - local.set $i|7 + local.set $i|6 br $for-loop|1 end end @@ -54190,12 +53389,10 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $buffer i32) (local $result i32) - (local $i|7 i32) - (local $8 i32) - (local $9 i32) + (local $i|6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -54224,8 +53421,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -54244,11 +53439,11 @@ global.get $~lib/memory/__stack_pointer local.get $array call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=8 - local.get $9 + local.get $7 local.get $array call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array @@ -54285,19 +53480,17 @@ local.tee $result i32.store $0 offset=16 i32.const 0 - local.set $i|7 + local.set $i|6 loop $for-loop|1 - local.get $i|7 + local.get $i|6 local.get $length i32.lt_s - local.set $8 - local.get $8 if local.get $array - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Int64Array#__get local.get $result - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Int64Array#__get i64.eq i32.eqz @@ -54309,10 +53502,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|7 + local.get $i|6 i32.const 1 i32.add - local.set $i|7 + local.set $i|6 br $for-loop|1 end end @@ -54326,12 +53519,10 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $buffer i32) (local $result i32) - (local $i|7 i32) - (local $8 i32) - (local $9 i32) + (local $i|6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -54360,8 +53551,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -54380,11 +53569,11 @@ global.get $~lib/memory/__stack_pointer local.get $array call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=8 - local.get $9 + local.get $7 local.get $array call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array @@ -54423,19 +53612,17 @@ local.tee $result i32.store $0 offset=16 i32.const 0 - local.set $i|7 + local.set $i|6 loop $for-loop|1 - local.get $i|7 + local.get $i|6 local.get $length i32.lt_s - local.set $8 - local.get $8 if local.get $array - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Uint64Array#__get local.get $result - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Uint64Array#__get i64.eq i32.eqz @@ -54447,10 +53634,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|7 + local.get $i|6 i32.const 1 i32.add - local.set $i|7 + local.set $i|6 br $for-loop|1 end end @@ -54464,12 +53651,10 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $buffer i32) (local $result i32) - (local $i|7 i32) - (local $8 i32) - (local $9 i32) + (local $i|6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -54498,8 +53683,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -54518,11 +53701,11 @@ global.get $~lib/memory/__stack_pointer local.get $array call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=8 - local.get $9 + local.get $7 local.get $array call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array @@ -54563,19 +53746,17 @@ local.tee $result i32.store $0 offset=16 i32.const 0 - local.set $i|7 + local.set $i|6 loop $for-loop|1 - local.get $i|7 + local.get $i|6 local.get $length i32.lt_s - local.set $8 - local.get $8 if local.get $array - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Float32Array#__get local.get $result - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Float32Array#__get f32.eq i32.eqz @@ -54587,10 +53768,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|7 + local.get $i|6 i32.const 1 i32.add - local.set $i|7 + local.set $i|6 br $for-loop|1 end end @@ -54604,12 +53785,10 @@ (local $length i32) (local $array i32) (local $i i32) - (local $4 i32) (local $buffer i32) (local $result i32) - (local $i|7 i32) - (local $8 i32) - (local $9 i32) + (local $i|6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -54638,8 +53817,6 @@ local.get $i local.get $length i32.lt_s - local.set $4 - local.get $4 if local.get $array local.get $i @@ -54658,11 +53835,11 @@ global.get $~lib/memory/__stack_pointer local.get $array call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $7 i32.store $0 offset=8 - local.get $9 + local.get $7 local.get $array call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array @@ -54705,19 +53882,17 @@ local.tee $result i32.store $0 offset=16 i32.const 0 - local.set $i|7 + local.set $i|6 loop $for-loop|1 - local.get $i|7 + local.get $i|6 local.get $length i32.lt_s - local.set $8 - local.get $8 if local.get $array - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Float64Array#__get local.get $result - local.get $i|7 + local.get $i|6 call $~lib/typedarray/Float64Array#__get f64.eq i32.eqz @@ -54729,10 +53904,10 @@ call $~lib/builtins/abort unreachable end - local.get $i|7 + local.get $i|6 i32.const 1 i32.add - local.set $i|7 + local.set $i|6 br $for-loop|1 end end @@ -54744,10 +53919,9 @@ (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) (local $len i32) (local $i i32) - (local $4 i32) (local $vala i32) (local $valb i32) - (local $7 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -54778,8 +53952,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $target local.get $i @@ -54794,11 +53966,11 @@ i32.ne if i32.const 10320 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -55041,10 +54213,9 @@ (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) (local $len i32) (local $i i32) - (local $4 i32) (local $vala i32) (local $valb i32) - (local $7 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -55075,8 +54246,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $target local.get $i @@ -55091,11 +54260,11 @@ i32.ne if i32.const 10528 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -55338,10 +54507,9 @@ (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) (local $len i32) (local $i i32) - (local $4 i32) (local $vala i32) (local $valb i32) - (local $7 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -55372,8 +54540,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $target local.get $i @@ -55388,11 +54554,11 @@ i32.ne if i32.const 10736 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -55635,10 +54801,9 @@ (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) (local $len i32) (local $i i32) - (local $4 i32) (local $vala i32) (local $valb i32) - (local $7 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -55669,8 +54834,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $target local.get $i @@ -55685,11 +54848,11 @@ i32.ne if i32.const 10976 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -55932,10 +55095,9 @@ (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) (local $len i32) (local $i i32) - (local $4 i32) (local $vala i32) (local $valb i32) - (local $7 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -55966,8 +55128,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $target local.get $i @@ -55982,11 +55142,11 @@ i32.ne if i32.const 11264 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -56229,10 +55389,9 @@ (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) (local $len i32) (local $i i32) - (local $4 i32) (local $vala i32) (local $valb i32) - (local $7 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -56263,8 +55422,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $target local.get $i @@ -56279,11 +55436,11 @@ i32.ne if i32.const 11568 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -56526,10 +55683,9 @@ (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) (local $len i32) (local $i i32) - (local $4 i32) (local $vala i32) (local $valb i32) - (local $7 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -56560,8 +55716,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $target local.get $i @@ -56576,11 +55730,11 @@ i32.ne if i32.const 11936 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -56823,10 +55977,9 @@ (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) (local $len i32) (local $i i32) - (local $4 i32) (local $vala i64) (local $valb i64) - (local $7 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -56857,8 +56010,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $target local.get $i @@ -56873,11 +56024,11 @@ i64.ne if i32.const 12352 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -57120,10 +56271,9 @@ (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) (local $len i32) (local $i i32) - (local $4 i32) (local $vala i64) (local $valb i64) - (local $7 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -57154,8 +56304,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $target local.get $i @@ -57170,11 +56318,11 @@ i64.ne if i32.const 12960 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -57417,10 +56565,9 @@ (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) (local $len i32) (local $i i32) - (local $4 i32) (local $vala f32) (local $valb f32) - (local $7 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -57451,8 +56598,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $target local.get $i @@ -57467,11 +56612,11 @@ f32.ne if i32.const 13520 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -57691,10 +56836,9 @@ (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) (local $len i32) (local $i i32) - (local $4 i32) (local $vala f64) (local $valb f64) - (local $7 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -57725,8 +56869,6 @@ local.get $i local.get $len i32.lt_s - local.set $4 - local.get $4 if local.get $target local.get $i @@ -57741,11 +56883,11 @@ f64.ne if i32.const 13872 - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.store $0 - local.get $7 + local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -63042,7 +62184,6 @@ (local $buf i32) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -63083,8 +62224,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $buf local.get $i @@ -63126,12 +62265,12 @@ local.get $byteLength i32.store $0 offset=8 local.get $out - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/typedarray/Uint8Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63143,7 +62282,6 @@ (local $buf i32) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -63184,8 +62322,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $buf local.get $i @@ -63227,12 +62363,12 @@ local.get $byteLength i32.store $0 offset=8 local.get $out - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/typedarray/Uint8ClampedArray#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63244,7 +62380,6 @@ (local $buf i32) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -63285,8 +62420,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $buf local.get $i @@ -63328,12 +62461,12 @@ local.get $byteLength i32.store $0 offset=8 local.get $out - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/typedarray/Int16Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63345,7 +62478,6 @@ (local $buf i32) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -63386,8 +62518,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $buf local.get $i @@ -63429,12 +62559,12 @@ local.get $byteLength i32.store $0 offset=8 local.get $out - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/typedarray/Uint16Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63446,7 +62576,6 @@ (local $buf i32) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -63487,8 +62616,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $buf local.get $i @@ -63530,12 +62657,12 @@ local.get $byteLength i32.store $0 offset=8 local.get $out - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/typedarray/Int32Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63547,7 +62674,6 @@ (local $buf i32) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -63588,8 +62714,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $buf local.get $i @@ -63631,12 +62755,12 @@ local.get $byteLength i32.store $0 offset=8 local.get $out - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/typedarray/Uint32Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63648,7 +62772,6 @@ (local $buf i32) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -63689,8 +62812,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $buf local.get $i @@ -63732,12 +62853,12 @@ local.get $byteLength i32.store $0 offset=8 local.get $out - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/typedarray/Int64Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63749,7 +62870,6 @@ (local $buf i32) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -63790,8 +62910,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $buf local.get $i @@ -63833,12 +62951,12 @@ local.get $byteLength i32.store $0 offset=8 local.get $out - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/typedarray/Uint64Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63850,7 +62968,6 @@ (local $buf i32) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -63891,8 +63008,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $buf local.get $i @@ -63934,12 +63049,12 @@ local.get $byteLength i32.store $0 offset=8 local.get $out - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/typedarray/Float32Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63951,7 +63066,6 @@ (local $buf i32) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -63992,8 +63106,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $buf local.get $i @@ -64035,12 +63147,12 @@ local.get $byteLength i32.store $0 offset=8 local.get $out - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/typedarray/Float64Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64052,7 +63164,6 @@ (local $buf i32) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -64093,8 +63204,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $buf local.get $i @@ -64136,12 +63245,12 @@ local.get $byteLength i32.store $0 offset=8 local.get $out - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/typedarray/Int8Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64152,12 +63261,11 @@ (local $dataStart i32) (local $j i32) (local $i i32) - (local $10 i32) (local $value i32) - (local $12 i32) + (local $11 i32) (local $byteLength i32) (local $data i32) - (local $15 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -64198,8 +63306,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -64219,11 +63325,11 @@ if local.get $buf local.get $j - local.tee $12 + local.tee $11 i32.const 1 i32.add local.set $j - local.get $12 + local.get $11 i32.const 0 i32.shl i32.add @@ -64259,12 +63365,12 @@ local.get $data i32.store $0 offset=4 local.get $out - local.set $15 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $14 ) (func $~lib/typedarray/Uint8Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64275,12 +63381,11 @@ (local $dataStart i32) (local $j i32) (local $i i32) - (local $10 i32) (local $value i32) - (local $12 i32) + (local $11 i32) (local $byteLength i32) (local $data i32) - (local $15 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -64321,8 +63426,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -64342,11 +63445,11 @@ if local.get $buf local.get $j - local.tee $12 + local.tee $11 i32.const 1 i32.add local.set $j - local.get $12 + local.get $11 i32.const 0 i32.shl i32.add @@ -64382,12 +63485,12 @@ local.get $data i32.store $0 offset=4 local.get $out - local.set $15 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $14 ) (func $~lib/typedarray/Uint8ClampedArray#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64398,12 +63501,11 @@ (local $dataStart i32) (local $j i32) (local $i i32) - (local $10 i32) (local $value i32) - (local $12 i32) + (local $11 i32) (local $byteLength i32) (local $data i32) - (local $15 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -64444,8 +63546,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -64465,11 +63565,11 @@ if local.get $buf local.get $j - local.tee $12 + local.tee $11 i32.const 1 i32.add local.set $j - local.get $12 + local.get $11 i32.const 0 i32.shl i32.add @@ -64505,12 +63605,12 @@ local.get $data i32.store $0 offset=4 local.get $out - local.set $15 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $14 ) (func $~lib/typedarray/Int16Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64521,12 +63621,11 @@ (local $dataStart i32) (local $j i32) (local $i i32) - (local $10 i32) (local $value i32) - (local $12 i32) + (local $11 i32) (local $byteLength i32) (local $data i32) - (local $15 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -64567,8 +63666,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -64588,11 +63685,11 @@ if local.get $buf local.get $j - local.tee $12 + local.tee $11 i32.const 1 i32.add local.set $j - local.get $12 + local.get $11 i32.const 1 i32.shl i32.add @@ -64628,12 +63725,12 @@ local.get $data i32.store $0 offset=4 local.get $out - local.set $15 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $14 ) (func $~lib/typedarray/Uint16Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64644,12 +63741,11 @@ (local $dataStart i32) (local $j i32) (local $i i32) - (local $10 i32) (local $value i32) - (local $12 i32) + (local $11 i32) (local $byteLength i32) (local $data i32) - (local $15 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -64690,8 +63786,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -64711,11 +63805,11 @@ if local.get $buf local.get $j - local.tee $12 + local.tee $11 i32.const 1 i32.add local.set $j - local.get $12 + local.get $11 i32.const 1 i32.shl i32.add @@ -64751,12 +63845,12 @@ local.get $data i32.store $0 offset=4 local.get $out - local.set $15 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $14 ) (func $~lib/typedarray/Int32Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64767,12 +63861,11 @@ (local $dataStart i32) (local $j i32) (local $i i32) - (local $10 i32) (local $value i32) - (local $12 i32) + (local $11 i32) (local $byteLength i32) (local $data i32) - (local $15 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -64813,8 +63906,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -64834,11 +63925,11 @@ if local.get $buf local.get $j - local.tee $12 + local.tee $11 i32.const 1 i32.add local.set $j - local.get $12 + local.get $11 i32.const 2 i32.shl i32.add @@ -64874,12 +63965,12 @@ local.get $data i32.store $0 offset=4 local.get $out - local.set $15 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $14 ) (func $~lib/typedarray/Uint32Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64890,12 +63981,11 @@ (local $dataStart i32) (local $j i32) (local $i i32) - (local $10 i32) (local $value i32) - (local $12 i32) + (local $11 i32) (local $byteLength i32) (local $data i32) - (local $15 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -64936,8 +64026,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -64957,11 +64045,11 @@ if local.get $buf local.get $j - local.tee $12 + local.tee $11 i32.const 1 i32.add local.set $j - local.get $12 + local.get $11 i32.const 2 i32.shl i32.add @@ -64997,12 +64085,12 @@ local.get $data i32.store $0 offset=4 local.get $out - local.set $15 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $14 ) (func $~lib/typedarray/Int64Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -65013,12 +64101,11 @@ (local $dataStart i32) (local $j i32) (local $i i32) - (local $10 i32) (local $value i64) - (local $12 i32) + (local $11 i32) (local $byteLength i32) (local $data i32) - (local $15 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -65059,8 +64146,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -65080,11 +64165,11 @@ if local.get $buf local.get $j - local.tee $12 + local.tee $11 i32.const 1 i32.add local.set $j - local.get $12 + local.get $11 i32.const 3 i32.shl i32.add @@ -65120,12 +64205,12 @@ local.get $data i32.store $0 offset=4 local.get $out - local.set $15 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $14 ) (func $~lib/typedarray/Uint64Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -65136,12 +64221,11 @@ (local $dataStart i32) (local $j i32) (local $i i32) - (local $10 i32) (local $value i64) - (local $12 i32) + (local $11 i32) (local $byteLength i32) (local $data i32) - (local $15 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -65182,8 +64266,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -65203,11 +64285,11 @@ if local.get $buf local.get $j - local.tee $12 + local.tee $11 i32.const 1 i32.add local.set $j - local.get $12 + local.get $11 i32.const 3 i32.shl i32.add @@ -65243,12 +64325,12 @@ local.get $data i32.store $0 offset=4 local.get $out - local.set $15 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $14 ) (func $~lib/typedarray/Float32Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -65259,12 +64341,11 @@ (local $dataStart i32) (local $j i32) (local $i i32) - (local $10 i32) (local $value f32) - (local $12 i32) + (local $11 i32) (local $byteLength i32) (local $data i32) - (local $15 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -65305,8 +64386,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -65326,11 +64405,11 @@ if local.get $buf local.get $j - local.tee $12 + local.tee $11 i32.const 1 i32.add local.set $j - local.get $12 + local.get $11 i32.const 2 i32.shl i32.add @@ -65366,12 +64445,12 @@ local.get $data i32.store $0 offset=4 local.get $out - local.set $15 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $14 ) (func $~lib/typedarray/Float64Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -65382,12 +64461,11 @@ (local $dataStart i32) (local $j i32) (local $i i32) - (local $10 i32) (local $value f64) - (local $12 i32) + (local $11 i32) (local $byteLength i32) (local $data i32) - (local $15 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -65428,8 +64506,6 @@ local.get $i local.get $len i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -65449,11 +64525,11 @@ if local.get $buf local.get $j - local.tee $12 + local.tee $11 i32.const 1 i32.add local.set $j - local.get $12 + local.get $11 i32.const 3 i32.shl i32.add @@ -65489,12 +64565,12 @@ local.get $data i32.store $0 offset=4 local.get $out - local.set $15 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $14 ) (func $~lib/typedarray/Uint8Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) (local $array i32) @@ -66894,7 +65970,6 @@ (local $value|9 i32) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -66912,12 +65987,12 @@ i32.lt_s if i32.const 6752 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -66935,12 +66010,12 @@ local.get $value i32.const 10 call $~lib/util/number/itoa32 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -66970,8 +66045,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -67039,21 +66112,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/number/utoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $out i32) @@ -67211,7 +66284,6 @@ (local $value|9 i32) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -67229,12 +66301,12 @@ i32.lt_s if i32.const 6752 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -67252,12 +66324,12 @@ local.get $value i32.const 10 call $~lib/util/number/utoa32 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -67287,8 +66359,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -67356,21 +66426,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -67382,7 +66452,6 @@ (local $value|9 i32) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -67400,12 +66469,12 @@ i32.lt_s if i32.const 6752 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -67423,12 +66492,12 @@ local.get $value i32.const 10 call $~lib/util/number/itoa32 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -67458,8 +66527,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -67527,21 +66594,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -67553,7 +66620,6 @@ (local $value|9 i32) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -67571,12 +66637,12 @@ i32.lt_s if i32.const 6752 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -67594,12 +66660,12 @@ local.get $value i32.const 10 call $~lib/util/number/utoa32 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -67629,8 +66695,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -67698,21 +66762,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -67724,7 +66788,6 @@ (local $value|9 i32) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -67742,12 +66805,12 @@ i32.lt_s if i32.const 6752 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -67765,12 +66828,12 @@ local.get $value i32.const 10 call $~lib/util/number/itoa32 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -67800,8 +66863,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -67869,21 +66930,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -67895,7 +66956,6 @@ (local $value|9 i32) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -67913,12 +66973,12 @@ i32.lt_s if i32.const 6752 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -67936,12 +66996,12 @@ local.get $value i32.const 10 call $~lib/util/number/utoa32 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -67971,8 +67031,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -68040,21 +67098,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/number/itoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) (local $sign i32) @@ -68289,7 +67347,6 @@ (local $value|9 i64) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -68307,12 +67364,12 @@ i32.lt_s if i32.const 6752 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -68332,12 +67389,12 @@ i64.extend_i32_s i32.const 10 call $~lib/util/number/itoa64 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -68367,8 +67424,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -68436,21 +67491,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/number/utoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) (local $out i32) @@ -68648,7 +67703,6 @@ (local $value|9 i64) (local $i i32) (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -68666,12 +67720,12 @@ i32.lt_s if i32.const 6752 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $lastIndex @@ -68689,12 +67743,12 @@ local.get $value i32.const 10 call $~lib/util/number/utoa64 - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $separator @@ -68724,8 +67778,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $11 - local.get $11 if local.get $dataStart local.get $i @@ -68793,21 +67845,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 return end local.get $result - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $11 ) (func $~lib/util/number/dtoa (type $f64_=>_i32) (param $value f64) (result i32) (local $size i32) @@ -68901,7 +67953,6 @@ (local $value f32) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -68919,12 +67970,12 @@ i32.lt_s if i32.const 6752 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 return end local.get $lastIndex @@ -68934,12 +67985,12 @@ f32.load $0 f64.promote_f32 call $~lib/util/number/dtoa - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 return end local.get $separator @@ -68969,8 +68020,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -69040,21 +68089,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 return end local.get $result - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/util/string/joinFloatArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -69065,7 +68114,6 @@ (local $value f64) (local $i i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -69083,12 +68131,12 @@ i32.lt_s if i32.const 6752 - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 return end local.get $lastIndex @@ -69097,12 +68145,12 @@ local.get $dataStart f64.load $0 call $~lib/util/number/dtoa - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 return end local.get $separator @@ -69132,8 +68180,6 @@ local.get $i local.get $lastIndex i32.lt_s - local.set $10 - local.get $10 if local.get $dataStart local.get $i @@ -69201,21 +68247,21 @@ i32.const 0 local.get $offset call $~lib/string/String#substring - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 return end local.get $result - local.set $11 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $10 ) (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $buffer i32) diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 10893113a1..10f5b49035 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -38124,18 +38124,10 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $0 i32) + (func $~lib/typedarray/Uint8Array#toString (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -38152,282 +38144,129 @@ global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $1 - i32.const 7616 i32.store $0 local.get $1 - i32.const 7628 - i32.load $0 - local.tee $1 - call $~lib/typedarray/Int32Array#constructor - local.tee $2 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - call $~lib/typedarray/Int32Array#constructor - local.tee $3 - i32.store $0 offset=8 - loop $for-loop|0 - local.get $0 - local.get $1 - i32.lt_s - if - local.get $2 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $3 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 0 + i32.const 9584 + i32.store $0 + local.get $0 + call $~lib/typedarray/Uint8Array#join local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $4 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $5 - i32.const 1 - i32.gt_u + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + 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 16320 + i32.lt_s if - local.get $5 + i32.const 49120 + i32.const 49168 i32.const 1 - i32.shr_u - local.set $6 - local.get $5 i32.const 1 - i32.sub - local.set $5 - loop $while-continue|0 - local.get $0 - local.get $6 - i32.lt_u - if - local.get $4 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load $0 - local.set $8 - local.get $7 - local.get $4 - local.get $5 - local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load $0 - i32.store $0 - local.get $7 - local.get $8 - i32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|0 - end - end + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $1 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.tee $3 + local.get $1 + i32.load $0 offset=12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + loop $for-loop|0 + local.get $2 + local.get $3 i32.lt_s if local.get $2 local.get $0 - call $~lib/typedarray/Int32Array#__get - i32.const 7616 + i32.load $0 offset=4 + i32.add + i32.load8_s $0 + local.tee $4 + local.get $2 local.get $1 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get + i32.load $0 offset=4 + i32.add + i32.load8_s $0 + local.tee $5 i32.ne if + global.get $~lib/memory/__stack_pointer + i32.const 11344 + i32.store $0 + i32.const 11344 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $4 + f64.convert_i32_s + local.get $5 + f64.convert_i32_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 i32.const 1568 - i32.const 570 - i32.const 5 + i32.const 764 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $2 + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.set $1 - local.get $3 i32.const 4 - i32.const 8 - call $~lib/typedarray/Int32Array#subarray - local.set $2 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 f32) + (local $3 f64) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=12 - i32.const 0 - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.const 1 - i32.gt_u + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - local.get $4 - i32.const 1 - i32.shr_u - local.set $5 - local.get $4 - i32.const 1 - i32.sub - local.set $4 - loop $while-continue|01 - local.get $0 - local.get $5 - i32.lt_u - if - local.get $3 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $6 - i32.load $0 - local.set $7 - local.get $6 - local.get $3 - local.get $4 - local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.add - local.tee $6 - i32.load $0 - i32.store $0 - local.get $6 - local.get $7 - i32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|01 - end - end - end - local.get $1 - local.get $2 - i32.store $0 offset=16 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 7 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 3 - call $~lib/typedarray/Int32Array#__get - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 578 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 + i32.const 49120 + i32.const 49168 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -38439,270 +38278,269 @@ i32.const 20 memory.fill $0 local.get $1 - i32.const 7616 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $6 i32.store $0 - local.get $1 - i32.const 7628 - i32.load $0 - local.tee $1 - call $~lib/typedarray/Uint32Array#constructor - local.tee $2 + local.get $6 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $6 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $6 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $7 i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $7 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $7 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $7 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - call $~lib/typedarray/Uint32Array#constructor - local.tee $3 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 i32.store $0 offset=8 - loop $for-loop|0 - local.get $0 - local.get $1 - i32.lt_s - if - local.get $2 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $3 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end + local.get $1 i32.const 0 - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $4 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $5 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $1 i32.const 1 - i32.gt_u - if - local.get $5 - i32.const 1 - i32.shr_u - local.set $6 - local.get $5 - i32.const 1 - i32.sub + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $1 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 10 + call $~lib/typedarray/Int8Array#constructor + local.tee $4 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 11008 + i32.store $0 offset=16 + local.get $4 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + i32.const 10 + i32.const 0 + i32.const 16 + i32.const 11312 + call $~lib/rt/__newArray + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=16 + local.get $4 + local.get $5 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + global.get $~lib/memory/__stack_pointer + i32.const 11088 + i32.store $0 offset=16 + block $folding-inner0 + local.get $4 + i32.load $0 offset=8 + i32.const 11100 + i32.load $0 + local.tee $8 + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $4 + i32.load $0 offset=4 + i32.const 3 + i32.add local.set $5 - loop $while-continue|0 + i32.const 11092 + i32.load $0 + local.set $9 + loop $for-loop|0 local.get $0 - local.get $6 - i32.lt_u + local.get $8 + i32.lt_s if - local.get $4 local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load $0 - local.set $8 - local.get $7 - local.get $4 local.get $5 + i32.add + local.get $9 local.get $0 - i32.sub i32.const 2 i32.shl i32.add - local.tee $7 - i32.load $0 - i32.store $0 - local.get $7 - local.get $8 - i32.store $0 + f32.load $0 + local.tee $2 + i32.trunc_sat_f32_s + i32.const 0 + local.get $2 + local.get $2 + f32.sub + f32.const 0 + f32.eq + select + i32.store8 $0 local.get $0 i32.const 1 i32.add local.set $0 - br $while-continue|0 + br $for-loop|0 end end - end - i32.const 0 - local.set $0 - loop $for-loop|1 + i32.const 10 + i32.const 0 + i32.const 16 + i32.const 11392 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.lt_s - if - local.get $2 - local.get $0 - call $~lib/typedarray/Uint32Array#__get - i32.const 7616 - local.get $1 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 570 - i32.const 5 - 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.set $1 - local.get $3 - i32.const 8 - call $~lib/typedarray/Uint32Array#subarray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=12 - i32.const 0 - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.const 1 - i32.gt_u - if + i32.store $0 offset=16 local.get $4 - i32.const 1 - i32.shr_u - local.set $5 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> local.get $4 - i32.const 1 - i32.sub - local.set $4 - loop $while-continue|01 + local.get $6 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> + i32.const 10 + i32.const 0 + i32.const 16 + i32.const 11424 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=16 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + global.get $~lib/memory/__stack_pointer + i32.const 11184 + i32.store $0 offset=16 + local.get $4 + i32.load $0 offset=8 + i32.const 11196 + i32.load $0 + local.tee $5 + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $4 + i32.load $0 offset=4 + i32.const 2 + i32.add + local.set $6 + i32.const 11188 + i32.load $0 + local.set $8 + i32.const 0 + local.set $0 + loop $for-loop|07 local.get $0 local.get $5 - i32.lt_u + i32.lt_s if - local.get $3 local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $6 - i32.load $0 - local.set $7 local.get $6 - local.get $3 - local.get $4 + i32.add + local.get $8 local.get $0 - i32.sub - i32.const 2 + i32.const 3 i32.shl i32.add - local.tee $6 - i32.load $0 - i32.store $0 - local.get $6 - local.get $7 - i32.store $0 + f64.load $0 + local.tee $3 + i32.trunc_sat_f64_s + i32.const 0 + local.get $3 + local.get $3 + f64.sub + f64.const 0 + f64.eq + select + i32.store8 $0 local.get $0 i32.const 1 i32.add local.set $0 - br $while-continue|01 + br $for-loop|07 end end - end - local.get $1 - local.get $2 - i32.store $0 offset=16 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 7 - i32.ne - if + i32.const 10 i32.const 0 - i32.const 1568 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 6 - i32.ne - if + i32.const 16 + i32.const 11456 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=16 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $4 + local.get $7 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + local.get $4 + local.get $1 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 11264 + i32.store $0 offset=16 + local.get $4 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + i32.const 10 i32.const 0 - i32.const 1568 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 16 + i32.const 11488 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=16 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__get + i32.const 1360 + i32.const 1632 + i32.const 1902 i32.const 5 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 578 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/builtins/abort + unreachable ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $0 i32) - (local $1 i64) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -38717,276 +38555,85 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $2 - i32.const 7616 i32.store $0 - local.get $2 - i32.const 7628 - i32.load $0 - local.tee $2 - call $~lib/typedarray/Int64Array#constructor + local.get $0 + i32.load $0 offset=8 local.tee $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Int64Array#constructor - local.tee $4 - i32.store $0 offset=8 - loop $for-loop|0 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $4 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 0 - local.set $0 - local.get $3 - i32.load $0 offset=4 - local.set $5 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $6 - i32.const 1 - i32.gt_u + local.get $1 + i32.load $0 offset=12 + i32.ne if - local.get $6 - i32.const 1 - i32.shr_u - local.set $7 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - loop $while-continue|0 - local.get $0 - local.get $7 - i32.lt_u - if - local.get $5 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.tee $8 - i64.load $0 - local.set $1 - local.get $8 - local.get $5 - local.get $6 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.add - local.tee $8 - i64.load $0 - i64.store $0 - local.get $8 - local.get $1 - i64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|0 - end - end + i32.const 0 + i32.const 1568 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 + loop $for-loop|0 local.get $2 + local.get $3 i32.lt_s if - local.get $3 - local.get $0 - call $~lib/typedarray/Int64Array#__get - i32.const 7616 local.get $2 - i32.const 1 - i32.sub local.get $0 - i32.sub - call $~lib/array/Array#__get - i64.extend_i32_s - i64.ne + i32.load $0 offset=4 + i32.add + i32.load8_u $0 + local.tee $4 + local.get $2 + local.get $1 + i32.load $0 offset=4 + i32.add + i32.load8_u $0 + local.tee $5 + i32.ne if + global.get $~lib/memory/__stack_pointer + i32.const 11552 + i32.store $0 + i32.const 11552 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $4 + f64.convert_i32_u + local.get $5 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 i32.const 1568 - i32.const 570 - i32.const 5 + i32.const 764 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $4 - i32.const 8 - call $~lib/typedarray/Int64Array#subarray - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 - i32.const 0 - local.set $0 - local.get $3 - i32.load $0 offset=4 - local.set $4 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $5 - i32.const 1 - i32.gt_u - if - local.get $5 - i32.const 1 - i32.shr_u - local.set $6 - local.get $5 - i32.const 1 - i32.sub - local.set $5 - loop $while-continue|01 - local.get $0 - local.get $6 - i32.lt_u - if - local.get $4 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.tee $7 - i64.load $0 - local.set $1 - local.get $7 - local.get $4 - local.get $5 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.add - local.tee $7 - i64.load $0 - i64.store $0 - local.get $7 - local.get $1 - i64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|01 - end + local.set $2 + br $for-loop|0 end end - local.get $2 - local.get $3 - i32.store $0 offset=16 - local.get $3 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 8 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 7 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 6 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - call $~lib/typedarray/Int64Array#__get - i64.const 5 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 578 - i32.const 3 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> (type $none_=>_none) (local $0 i32) - (local $1 i64) - (local $2 i32) - (local $3 i32) + (local $1 i32) + (local $2 f32) + (local $3 f64) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -39003,1366 +38650,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $2 - i32.const 7616 - i32.store $0 - local.get $2 - i32.const 7628 - i32.load $0 - local.tee $2 - call $~lib/typedarray/Uint64Array#constructor - local.tee $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Uint64Array#constructor - local.tee $4 - i32.store $0 offset=8 - loop $for-loop|0 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $4 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 0 - local.set $0 - local.get $3 - i32.load $0 offset=4 - local.set $5 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $6 - i32.const 1 - i32.gt_u - if - local.get $6 - i32.const 1 - i32.shr_u - local.set $7 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - loop $while-continue|0 - local.get $0 - local.get $7 - i32.lt_u - if - local.get $5 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.tee $8 - i64.load $0 - local.set $1 - local.get $8 - local.get $5 - local.get $6 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.add - local.tee $8 - i64.load $0 - i64.store $0 - local.get $8 - local.get $1 - i64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|0 - end - end - end - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - call $~lib/typedarray/Uint64Array#__get - i32.const 7616 - local.get $2 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i64.extend_i32_s - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 570 - i32.const 5 - 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.set $2 - local.get $4 - i32.const 8 - call $~lib/typedarray/Uint64Array#subarray - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 - i32.const 0 - local.set $0 - local.get $3 - i32.load $0 offset=4 - local.set $4 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $5 - i32.const 1 - i32.gt_u - if - local.get $5 - i32.const 1 - i32.shr_u - local.set $6 - local.get $5 - i32.const 1 - i32.sub - local.set $5 - loop $while-continue|01 - local.get $0 - local.get $6 - i32.lt_u - if - local.get $4 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.tee $7 - i64.load $0 - local.set $1 - local.get $7 - local.get $4 - local.get $5 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.add - local.tee $7 - i64.load $0 - i64.store $0 - local.get $7 - local.get $1 - i64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|01 - end - end - end - local.get $2 - local.get $3 - i32.store $0 offset=16 - local.get $3 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 8 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 7 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 6 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - call $~lib/typedarray/Uint64Array#__get - i64.const 5 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 578 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $0 i32) - (local $1 f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $2 - i32.const 7616 - i32.store $0 - local.get $2 - i32.const 7628 - i32.load $0 - local.tee $2 - call $~lib/typedarray/Float32Array#constructor - local.tee $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Float32Array#constructor - local.tee $4 - i32.store $0 offset=8 - loop $for-loop|0 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $4 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 0 - local.set $0 - local.get $3 - i32.load $0 offset=4 - local.set $5 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $6 - i32.const 1 - i32.gt_u - if - local.get $6 - i32.const 1 - i32.shr_u - local.set $7 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - loop $while-continue|0 - local.get $0 - local.get $7 - i32.lt_u - if - local.get $5 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $8 - f32.load $0 - local.set $1 - local.get $8 - local.get $5 - local.get $6 - local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.add - local.tee $8 - f32.load $0 - f32.store $0 - local.get $8 - local.get $1 - f32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|0 - end - end - end - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - call $~lib/typedarray/Float32Array#__get - i32.const 7616 - local.get $2 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - f32.convert_i32_s - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 570 - i32.const 5 - 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.set $2 - local.get $4 - i32.const 8 - call $~lib/typedarray/Float32Array#subarray - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 - i32.const 0 - local.set $0 - local.get $3 - i32.load $0 offset=4 - local.set $4 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $5 - i32.const 1 - i32.gt_u - if - local.get $5 - i32.const 1 - i32.shr_u - local.set $6 - local.get $5 - i32.const 1 - i32.sub - local.set $5 - loop $while-continue|01 - local.get $0 - local.get $6 - i32.lt_u - if - local.get $4 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $7 - f32.load $0 - local.set $1 - local.get $7 - local.get $4 - local.get $5 - local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.add - local.tee $7 - f32.load $0 - f32.store $0 - local.get $7 - local.get $1 - f32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|01 - end - end - end - local.get $2 - local.get $3 - i32.store $0 offset=16 - local.get $3 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 8 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 7 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 6 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - call $~lib/typedarray/Float32Array#__get - f32.const 5 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 578 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $0 i32) - (local $1 f64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $2 - i32.const 7616 - i32.store $0 - local.get $2 - i32.const 7628 - i32.load $0 - local.tee $2 - call $~lib/typedarray/Float64Array#constructor - local.tee $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Float64Array#constructor - local.tee $4 - i32.store $0 offset=8 - loop $for-loop|0 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $4 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 0 - local.set $0 - local.get $3 - i32.load $0 offset=4 - local.set $5 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $6 - i32.const 1 - i32.gt_u - if - local.get $6 - i32.const 1 - i32.shr_u - local.set $7 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - loop $while-continue|0 - local.get $0 - local.get $7 - i32.lt_u - if - local.get $5 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.tee $8 - f64.load $0 - local.set $1 - local.get $8 - local.get $5 - local.get $6 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.add - local.tee $8 - f64.load $0 - f64.store $0 - local.get $8 - local.get $1 - f64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|0 - end - end - end - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - call $~lib/typedarray/Float64Array#__get - i32.const 7616 - local.get $2 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - f64.convert_i32_s - f64.ne - if - i32.const 0 - i32.const 1568 - i32.const 570 - i32.const 5 - 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.set $2 - local.get $4 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Float64Array#subarray - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 - i32.const 0 - local.set $0 - local.get $3 - i32.load $0 offset=4 - local.set $4 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $5 - i32.const 1 - i32.gt_u - if - local.get $5 - i32.const 1 - i32.shr_u - local.set $6 - local.get $5 - i32.const 1 - i32.sub - local.set $5 - loop $while-continue|01 - local.get $0 - local.get $6 - i32.lt_u - if - local.get $4 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.tee $7 - f64.load $0 - local.set $1 - local.get $7 - local.get $4 - local.get $5 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.add - local.tee $7 - f64.load $0 - f64.store $0 - local.get $7 - local.get $1 - f64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|01 - end - end - end - local.get $2 - local.get $3 - i32.store $0 offset=16 - local.get $3 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 8 - f64.ne - if - i32.const 0 - i32.const 1568 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 7 - f64.ne - if - i32.const 0 - i32.const 1568 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 6 - f64.ne - if - i32.const 0 - i32.const 1568 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 3 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.ne - if - i32.const 0 - i32.const 1568 - i32.const 578 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#toString (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - 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 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - i32.const 9584 - i32.store $0 - local.get $0 - call $~lib/typedarray/Uint8Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - 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 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=8 - local.tee $3 - local.get $1 - i32.load $0 offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - i32.load $0 offset=4 - i32.add - i32.load8_s $0 - local.tee $4 - local.get $2 - local.get $1 - i32.load $0 offset=4 - i32.add - i32.load8_s $0 - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 11344 - i32.store $0 - i32.const 11344 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.convert_i32_s - local.get $5 - f64.convert_i32_s - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 764 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 f32) - (local $3 f64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $6 - i32.store $0 - local.get $6 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $6 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $6 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $7 - i32.store $0 offset=4 - local.get $7 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $1 - i32.store $0 offset=8 - local.get $1 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $1 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $1 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Int8Array#constructor - local.tee $4 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 11008 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - i32.const 10 - i32.const 0 - i32.const 16 - i32.const 11312 - call $~lib/rt/__newArray - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=16 - local.get $4 - local.get $5 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - global.get $~lib/memory/__stack_pointer - i32.const 11088 - i32.store $0 offset=16 - block $folding-inner0 - local.get $4 - i32.load $0 offset=8 - i32.const 11100 - i32.load $0 - local.tee $8 - i32.const 3 - i32.add - i32.lt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 3 - i32.add - local.set $5 - i32.const 11092 - i32.load $0 - local.set $9 - loop $for-loop|0 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $0 - local.get $5 - i32.add - local.get $9 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.tee $2 - i32.trunc_sat_f32_s - i32.const 0 - local.get $2 - local.get $2 - f32.sub - f32.const 0 - f32.eq - select - i32.store8 $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 10 - i32.const 0 - i32.const 16 - i32.const 11392 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - local.get $4 - local.get $6 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> - i32.const 10 - i32.const 0 - i32.const 16 - i32.const 11424 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - global.get $~lib/memory/__stack_pointer - i32.const 11184 - i32.store $0 offset=16 - local.get $4 - i32.load $0 offset=8 - i32.const 11196 - i32.load $0 - local.tee $5 - i32.const 2 - i32.add - i32.lt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 2 - i32.add - local.set $6 - i32.const 11188 - i32.load $0 - local.set $8 - i32.const 0 - local.set $0 - loop $for-loop|07 - local.get $0 - local.get $5 - i32.lt_s - if - local.get $0 - local.get $6 - i32.add - local.get $8 - local.get $0 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.tee $3 - i32.trunc_sat_f64_s - i32.const 0 - local.get $3 - local.get $3 - f64.sub - f64.const 0 - f64.eq - select - i32.store8 $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|07 - end - end - i32.const 10 - i32.const 0 - i32.const 16 - i32.const 11456 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - local.get $4 - local.get $7 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> - local.get $4 - local.get $1 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11264 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - i32.const 10 - i32.const 0 - i32.const 16 - i32.const 11488 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - 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 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=8 - local.tee $3 - local.get $1 - i32.load $0 offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - i32.load $0 offset=4 - i32.add - i32.load8_u $0 - local.tee $4 - local.get $2 - local.get $1 - i32.load $0 offset=4 - i32.add - i32.load8_u $0 - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 11552 - i32.store $0 - i32.const 11552 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.convert_i32_u - local.get $5 - f64.convert_i32_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 764 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 f32) - (local $3 f64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $1 i32.const 0 i32.const 20 memory.fill $0 @@ -43667,28 +41955,28 @@ i32.const 120 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner36 - block $folding-inner35 - block $folding-inner34 - block $folding-inner33 - block $folding-inner32 - block $folding-inner31 - block $folding-inner30 - block $folding-inner29 - block $folding-inner28 - block $folding-inner27 - block $folding-inner26 - block $folding-inner25 - block $folding-inner24 - block $folding-inner23 - block $folding-inner22 - block $folding-inner21 - block $folding-inner20 - block $folding-inner19 - block $folding-inner18 - block $folding-inner17 - block $folding-inner16 - block $folding-inner15 + block $folding-inner41 + block $folding-inner40 + block $folding-inner39 + block $folding-inner38 + block $folding-inner37 + block $folding-inner36 + block $folding-inner35 + block $folding-inner34 + block $folding-inner33 + block $folding-inner32 + block $folding-inner31 + block $folding-inner30 + block $folding-inner29 + block $folding-inner28 + block $folding-inner27 + block $folding-inner26 + block $folding-inner25 + block $folding-inner24 + block $folding-inner23 + block $folding-inner22 + block $folding-inner21 + block $folding-inner20 block $folding-inner14 block $folding-inner13 block $folding-inner12 @@ -43706,7 +41994,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 120 @@ -45665,7 +43953,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $2 i64.const 0 @@ -45708,14 +43996,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $5 i32.const 2896 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.add @@ -45723,7 +44011,7 @@ br $for-loop|0 end end - local.get $9 + local.get $12 i32.const 255 i32.and i32.const 6 @@ -45740,7 +44028,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -45766,7 +44054,7 @@ i32.const 2928 i32.store $0 offset=4 i32.const 0 - local.set $9 + local.set $12 local.get $5 i32.load $0 offset=4 local.set $4 @@ -45787,14 +44075,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $5 i32.const 2928 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.add @@ -45802,7 +44090,7 @@ br $for-loop|019 end end - local.get $9 + local.get $12 i32.const 255 i32.and i32.const 6 @@ -45819,7 +44107,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -45845,7 +44133,7 @@ i32.const 2960 i32.store $0 offset=4 i32.const 0 - local.set $9 + local.set $12 local.get $5 i32.load $0 offset=4 local.set $4 @@ -45866,14 +44154,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $5 i32.const 2960 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.add @@ -45881,7 +44169,7 @@ br $for-loop|029 end end - local.get $9 + local.get $12 i32.const 255 i32.and i32.const 6 @@ -45898,7 +44186,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -45924,7 +44212,7 @@ i32.const 2992 i32.store $0 offset=4 i32.const 0 - local.set $9 + local.set $12 local.get $5 i32.load $0 offset=4 local.set $4 @@ -45949,14 +44237,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $5 i32.const 2992 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.add @@ -45964,7 +44252,7 @@ br $for-loop|034 end end - local.get $9 + local.get $12 i32.const 65535 i32.and i32.const 6 @@ -45981,7 +44269,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -46007,7 +44295,7 @@ i32.const 3024 i32.store $0 offset=4 i32.const 0 - local.set $9 + local.set $12 local.get $5 i32.load $0 offset=4 local.set $4 @@ -46032,14 +44320,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $5 i32.const 3024 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.add @@ -46047,7 +44335,7 @@ br $for-loop|040 end end - local.get $9 + local.get $12 i32.const 65535 i32.and i32.const 6 @@ -46064,7 +44352,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -46090,7 +44378,7 @@ i32.const 3056 i32.store $0 offset=4 i32.const 0 - local.set $9 + local.set $12 local.get $5 i32.load $0 offset=4 local.set $4 @@ -46115,14 +44403,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $5 i32.const 3056 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.add @@ -46130,7 +44418,7 @@ br $for-loop|046 end end - local.get $9 + local.get $12 i32.const 6 i32.ne br_if $folding-inner1 @@ -46145,7 +44433,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -46171,7 +44459,7 @@ i32.const 3088 i32.store $0 offset=4 i32.const 0 - local.set $9 + local.set $12 local.get $5 i32.load $0 offset=4 local.set $4 @@ -46196,14 +44484,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $5 i32.const 3088 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.add @@ -46211,7 +44499,7 @@ br $for-loop|052 end end - local.get $9 + local.get $12 i32.const 6 i32.ne br_if $folding-inner1 @@ -46226,7 +44514,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -46305,7 +44593,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -46386,7 +44674,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -46465,7 +44753,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -46544,7 +44832,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -46595,7 +44883,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -46646,7 +44934,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -46697,7 +44985,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -46748,7 +45036,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -46799,7 +45087,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -46850,7 +45138,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -46901,7 +45189,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -46952,7 +45240,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -47003,7 +45291,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -47054,7 +45342,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -47105,7 +45393,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47131,7 +45419,7 @@ i32.const 3248 i32.store $0 offset=4 i32.const 0 - local.set $9 + local.set $12 local.get $4 i32.load $0 offset=4 local.set $3 @@ -47152,14 +45440,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $4 i32.const 3248 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.sub @@ -47167,7 +45455,7 @@ br $for-loop|082 end end - local.get $9 + local.get $12 i32.const 255 i32.and i32.const 6 @@ -47184,7 +45472,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47210,7 +45498,7 @@ i32.const 3280 i32.store $0 offset=4 i32.const 0 - local.set $9 + local.set $12 local.get $4 i32.load $0 offset=4 local.set $3 @@ -47231,14 +45519,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $4 i32.const 3280 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.sub @@ -47246,7 +45534,7 @@ br $for-loop|088 end end - local.get $9 + local.get $12 i32.const 255 i32.and i32.const 6 @@ -47263,7 +45551,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47289,7 +45577,7 @@ i32.const 3312 i32.store $0 offset=4 i32.const 0 - local.set $9 + local.set $12 local.get $4 i32.load $0 offset=4 local.set $3 @@ -47310,14 +45598,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $4 i32.const 3312 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.sub @@ -47325,7 +45613,7 @@ br $for-loop|096 end end - local.get $9 + local.get $12 i32.const 255 i32.and i32.const 6 @@ -47342,7 +45630,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47368,7 +45656,7 @@ i32.const 3344 i32.store $0 offset=4 i32.const 0 - local.set $9 + local.set $12 local.get $4 i32.load $0 offset=4 local.set $3 @@ -47393,14 +45681,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $4 i32.const 3344 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.sub @@ -47408,7 +45696,7 @@ br $for-loop|0102 end end - local.get $9 + local.get $12 i32.const 65535 i32.and i32.const 6 @@ -47425,7 +45713,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47451,7 +45739,7 @@ i32.const 3376 i32.store $0 offset=4 i32.const 0 - local.set $9 + local.set $12 local.get $4 i32.load $0 offset=4 local.set $3 @@ -47476,14 +45764,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $4 i32.const 3376 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.sub @@ -47491,7 +45779,7 @@ br $for-loop|0108 end end - local.get $9 + local.get $12 i32.const 65535 i32.and i32.const 6 @@ -47508,7 +45796,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47534,7 +45822,7 @@ i32.const 3408 i32.store $0 offset=4 i32.const 0 - local.set $9 + local.set $12 local.get $4 i32.load $0 offset=4 local.set $3 @@ -47559,14 +45847,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $4 i32.const 3408 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.sub @@ -47574,7 +45862,7 @@ br $for-loop|0114 end end - local.get $9 + local.get $12 i32.const 6 i32.ne br_if $folding-inner5 @@ -47589,7 +45877,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47615,7 +45903,7 @@ i32.const 3440 i32.store $0 offset=4 i32.const 0 - local.set $9 + local.set $12 local.get $4 i32.load $0 offset=4 local.set $3 @@ -47640,14 +45928,14 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $9 + local.get $12 local.get $2 local.get $0 local.get $4 i32.const 3440 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $9 + local.set $12 local.get $0 i32.const 1 i32.sub @@ -47655,7 +45943,7 @@ br $for-loop|0120 end end - local.get $9 + local.get $12 i32.const 6 i32.ne br_if $folding-inner5 @@ -47670,7 +45958,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47751,7 +46039,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47832,7 +46120,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47913,7 +46201,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -47994,7 +46282,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48031,7 +46319,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48110,19 +46398,19 @@ call $~lib/typedarray/Int8Array#__get i32.const 1 i32.ne - br_if $folding-inner20 + br_if $folding-inner25 local.get $3 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 4 i32.ne - br_if $folding-inner21 + br_if $folding-inner26 local.get $3 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 9 i32.ne - br_if $folding-inner22 + br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -48136,7 +46424,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48173,7 +46461,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48252,19 +46540,19 @@ call $~lib/typedarray/Uint8Array#__get i32.const 1 i32.ne - br_if $folding-inner20 + br_if $folding-inner25 local.get $3 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 4 i32.ne - br_if $folding-inner21 + br_if $folding-inner26 local.get $3 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 9 i32.ne - br_if $folding-inner22 + br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -48278,7 +46566,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48315,7 +46603,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48394,19 +46682,19 @@ call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 i32.ne - br_if $folding-inner20 + br_if $folding-inner25 local.get $3 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 4 i32.ne - br_if $folding-inner21 + br_if $folding-inner26 local.get $3 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 9 i32.ne - br_if $folding-inner22 + br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -48420,7 +46708,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48457,7 +46745,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48544,19 +46832,19 @@ call $~lib/typedarray/Int16Array#__get i32.const 1 i32.ne - br_if $folding-inner20 + br_if $folding-inner25 local.get $5 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 4 i32.ne - br_if $folding-inner21 + br_if $folding-inner26 local.get $5 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 9 i32.ne - br_if $folding-inner22 + br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -48570,7 +46858,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48607,7 +46895,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48694,19 +46982,19 @@ call $~lib/typedarray/Uint16Array#__get i32.const 1 i32.ne - br_if $folding-inner20 + br_if $folding-inner25 local.get $5 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 4 i32.ne - br_if $folding-inner21 + br_if $folding-inner26 local.get $5 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 9 i32.ne - br_if $folding-inner22 + br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -48720,7 +47008,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48757,7 +47045,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48844,19 +47132,19 @@ call $~lib/typedarray/Int32Array#__get i32.const 1 i32.ne - br_if $folding-inner20 + br_if $folding-inner25 local.get $5 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 4 i32.ne - br_if $folding-inner21 + br_if $folding-inner26 local.get $5 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 9 i32.ne - br_if $folding-inner22 + br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -48870,7 +47158,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48907,7 +47195,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48994,19 +47282,19 @@ call $~lib/typedarray/Uint32Array#__get i32.const 1 i32.ne - br_if $folding-inner20 + br_if $folding-inner25 local.get $5 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 4 i32.ne - br_if $folding-inner21 + br_if $folding-inner26 local.get $5 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 9 i32.ne - br_if $folding-inner22 + br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -49020,7 +47308,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49057,7 +47345,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49144,19 +47432,19 @@ call $~lib/typedarray/Int64Array#__get i64.const 1 i64.ne - br_if $folding-inner20 + br_if $folding-inner25 local.get $4 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 4 i64.ne - br_if $folding-inner21 + br_if $folding-inner26 local.get $4 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 9 i64.ne - br_if $folding-inner22 + br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -49170,7 +47458,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49207,7 +47495,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49294,19 +47582,19 @@ call $~lib/typedarray/Uint64Array#__get i64.const 1 i64.ne - br_if $folding-inner20 + br_if $folding-inner25 local.get $4 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 4 i64.ne - br_if $folding-inner21 + br_if $folding-inner26 local.get $4 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 9 i64.ne - br_if $folding-inner22 + br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -49320,7 +47608,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49357,7 +47645,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49444,19 +47732,19 @@ call $~lib/typedarray/Float32Array#__get f32.const 1 f32.ne - br_if $folding-inner20 + br_if $folding-inner25 local.get $4 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 4 f32.ne - br_if $folding-inner21 + br_if $folding-inner26 local.get $4 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 9 f32.ne - br_if $folding-inner22 + br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -49470,7 +47758,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49507,7 +47795,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49594,19 +47882,19 @@ call $~lib/typedarray/Float64Array#__get f64.const 1 f64.ne - br_if $folding-inner20 + br_if $folding-inner25 local.get $4 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 4 f64.ne - br_if $folding-inner21 + br_if $folding-inner26 local.get $4 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 9 f64.ne - br_if $folding-inner22 + br_if $folding-inner27 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -49629,7 +47917,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49749,7 +48037,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49869,7 +48157,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49989,7 +48277,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50117,7 +48405,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50245,7 +48533,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50373,7 +48661,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50501,7 +48789,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50629,7 +48917,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50757,7 +49045,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50885,7 +49173,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51013,7 +49301,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51136,7 +49424,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51259,7 +49547,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51382,7 +49670,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51513,7 +49801,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51644,7 +49932,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51775,7 +50063,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51906,7 +50194,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52037,7 +50325,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52168,7 +50456,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52299,7 +50587,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52430,7 +50718,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52553,7 +50841,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52676,7 +50964,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52799,7 +51087,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52930,7 +51218,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53061,7 +51349,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53192,7 +51480,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53323,7 +51611,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53454,7 +51742,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53585,7 +51873,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53716,7 +52004,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53754,88 +52042,332 @@ block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 loop $for-loop|0604 local.get $0 - i32.const 0 - i32.ge_s + i32.const 0 + i32.ge_s + if + local.get $2 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $10 + i32.const 3 + global.set $~argumentsLength + local.get $10 + local.get $0 + local.get $3 + i32.const 6352 + i32.load $0 + call_indirect $0 (type $f64_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|0604 + end + end + i32.const -1 + local.set $0 + end + local.get $0 + i32.const 1 + i32.ne + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + i32.const 6384 + i32.store $0 offset=4 + local.get $3 + i32.load $0 offset=4 + local.set $2 + local.get $3 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0607 + loop $for-loop|0612 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $2 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $10 + i32.const 3 + global.set $~argumentsLength + local.get $10 + local.get $0 + local.get $3 + i32.const 6384 + i32.load $0 + call_indirect $0 (type $f64_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0607 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|0612 + end + end + i32.const -1 + local.set $0 + end + local.get $0 + i32.const -1 + i32.ne + br_if $folding-inner11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner28 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $5 + i32.store $0 + local.get $5 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $5 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $5 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6416 + i32.store $0 offset=4 + local.get $5 + i32.load $0 offset=4 + local.set $4 + i32.const 0 + local.set $0 + local.get $5 + i32.load $0 offset=8 + local.set $3 + loop $for-loop|0618 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $4 + i32.add + i32.load8_s $0 + local.set $2 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $2 + local.get $0 + local.get $5 + i32.const 6416 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 + drop + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0618 + end + end + i32.const 1 + end + i32.eqz + br_if $folding-inner12 + block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0621 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store $0 offset=4 + local.get $5 + i32.load $0 offset=4 + local.set $4 + i32.const 0 + local.set $0 + local.get $5 + i32.load $0 offset=8 + local.set $3 + loop $for-loop|0626 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $4 + i32.add + i32.load8_s $0 + local.set $2 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $2 + local.get $0 + local.get $5 + i32.const 6448 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0621 + drop + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0626 + end + end + i32.const 1 + end + br_if $folding-inner13 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner28 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $5 + i32.store $0 + local.get $5 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $5 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8Array#__set + local.get $5 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8Array#__set + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6480 + i32.store $0 offset=4 + local.get $5 + i32.load $0 offset=4 + local.set $4 + i32.const 0 + local.set $0 + local.get $5 + i32.load $0 offset=8 + local.set $3 + loop $for-loop|0632 + local.get $0 + local.get $3 + i32.lt_s if - local.get $2 local.get $0 - i32.const 3 - i32.shl + local.get $4 i32.add - f64.load $0 - local.set $10 + i32.load8_u $0 + local.set $2 i32.const 3 global.set $~argumentsLength - local.get $10 + i32.const 0 + local.get $2 local.get $0 - local.get $3 - i32.const 6352 + local.get $5 + i32.const 6480 i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 + drop local.get $0 i32.const 1 - i32.sub + i32.add local.set $0 - br $for-loop|0604 + br $for-loop|0632 end end - i32.const -1 - local.set $0 + i32.const 1 end - local.get $0 - i32.const 1 - i32.ne - br_if $folding-inner10 - global.get $~lib/memory/__stack_pointer - i32.const 6384 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0607 - loop $for-loop|0612 + i32.eqz + br_if $folding-inner12 + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0635 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 6512 + i32.store $0 offset=4 + local.get $5 + i32.load $0 offset=4 + local.set $4 + i32.const 0 + local.set $0 + local.get $5 + i32.load $0 offset=8 + local.set $3 + loop $for-loop|0640 local.get $0 - i32.const 0 - i32.ge_s + local.get $3 + i32.lt_s if - local.get $2 local.get $0 - i32.const 3 - i32.shl + local.get $4 i32.add - f64.load $0 - local.set $10 + i32.load8_u $0 + local.set $2 i32.const 3 global.set $~argumentsLength - local.get $10 + i32.const 0 + local.get $2 local.get $0 - local.get $3 - i32.const 6384 + local.get $5 + i32.const 6512 i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0607 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0635 + drop local.get $0 i32.const 1 - i32.sub + i32.add local.set $0 - br $for-loop|0612 + br $for-loop|0640 end end - i32.const -1 - local.set $0 + i32.const 1 end - local.get $0 - i32.const -1 - i32.ne - br_if $folding-inner11 + br_if $folding-inner13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -53847,31 +52379,31 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 i64.store $0 local.get $0 i32.const 3 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $5 i32.store $0 local.get $5 i32.const 0 i32.const 2 - call $~lib/typedarray/Int8Array#__set + call $~lib/typedarray/Uint8ClampedArray#__set local.get $5 i32.const 1 i32.const 4 - call $~lib/typedarray/Int8Array#__set + call $~lib/typedarray/Uint8ClampedArray#__set local.get $5 i32.const 2 i32.const 6 - call $~lib/typedarray/Int8Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + call $~lib/typedarray/Uint8ClampedArray#__set + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0643 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6416 + i32.const 6544 i32.store $0 offset=4 local.get $5 i32.load $0 offset=4 @@ -53881,7 +52413,7 @@ local.get $5 i32.load $0 offset=8 local.set $3 - loop $for-loop|0618 + loop $for-loop|0648 local.get $0 local.get $3 i32.lt_s @@ -53889,7 +52421,7 @@ local.get $0 local.get $4 i32.add - i32.load8_s $0 + i32.load8_u $0 local.set $2 i32.const 3 global.set $~argumentsLength @@ -53897,26 +52429,26 @@ local.get $2 local.get $0 local.get $5 - i32.const 6416 + i32.const 6544 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0643 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0618 + br $for-loop|0648 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0621 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0651 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6448 + i32.const 6576 i32.store $0 offset=4 local.get $5 i32.load $0 offset=4 @@ -53926,7 +52458,7 @@ local.get $5 i32.load $0 offset=8 local.set $3 - loop $for-loop|0626 + loop $for-loop|0656 local.get $0 local.get $3 i32.lt_s @@ -53934,7 +52466,7 @@ local.get $0 local.get $4 i32.add - i32.load8_s $0 + i32.load8_u $0 local.set $2 i32.const 3 global.set $~argumentsLength @@ -53942,17 +52474,17 @@ local.get $2 local.get $0 local.get $5 - i32.const 6448 + i32.const 6576 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0621 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0651 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0626 + br $for-loop|0656 end end i32.const 1 @@ -53969,31 +52501,31 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 i64.store $0 local.get $0 i32.const 3 - call $~lib/typedarray/Uint8Array#constructor + call $~lib/typedarray/Int16Array#constructor local.tee $5 i32.store $0 local.get $5 i32.const 0 i32.const 2 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int16Array#__set local.get $5 i32.const 1 i32.const 4 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int16Array#__set local.get $5 i32.const 2 i32.const 6 - call $~lib/typedarray/Uint8Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + call $~lib/typedarray/Int16Array#__set + block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6480 + i32.const 6608 i32.store $0 offset=4 local.get $5 i32.load $0 offset=4 @@ -54002,16 +52534,20 @@ local.set $0 local.get $5 i32.load $0 offset=8 + i32.const 1 + i32.shr_u local.set $3 - loop $for-loop|0632 + loop $for-loop|0662 local.get $0 local.get $3 i32.lt_s if - local.get $0 local.get $4 + local.get $0 + i32.const 1 + i32.shl i32.add - i32.load8_u $0 + i32.load16_s $0 local.set $2 i32.const 3 global.set $~argumentsLength @@ -54019,26 +52555,26 @@ local.get $2 local.get $0 local.get $5 - i32.const 6480 + i32.const 6608 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0632 + br $for-loop|0662 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0635 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0665 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6512 + i32.const 6640 i32.store $0 offset=4 local.get $5 i32.load $0 offset=4 @@ -54047,16 +52583,20 @@ local.set $0 local.get $5 i32.load $0 offset=8 + i32.const 1 + i32.shr_u local.set $3 - loop $for-loop|0640 + loop $for-loop|0670 local.get $0 local.get $3 i32.lt_s if - local.get $0 local.get $4 + local.get $0 + i32.const 1 + i32.shl i32.add - i32.load8_u $0 + i32.load16_s $0 local.set $2 i32.const 3 global.set $~argumentsLength @@ -54064,17 +52604,17 @@ local.get $2 local.get $0 local.get $5 - i32.const 6512 + i32.const 6640 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0635 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0665 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0640 + br $for-loop|0670 end end i32.const 1 @@ -54091,31 +52631,31 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 i64.store $0 local.get $0 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor + call $~lib/typedarray/Uint16Array#constructor local.tee $5 i32.store $0 local.get $5 i32.const 0 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + call $~lib/typedarray/Uint16Array#__set local.get $5 i32.const 1 i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set + call $~lib/typedarray/Uint16Array#__set local.get $5 i32.const 2 i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0643 (result i32) + call $~lib/typedarray/Uint16Array#__set + block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6544 + i32.const 6672 i32.store $0 offset=4 local.get $5 i32.load $0 offset=4 @@ -54124,16 +52664,20 @@ local.set $0 local.get $5 i32.load $0 offset=8 + i32.const 1 + i32.shr_u local.set $3 - loop $for-loop|0648 + loop $for-loop|0676 local.get $0 local.get $3 i32.lt_s if - local.get $0 local.get $4 + local.get $0 + i32.const 1 + i32.shl i32.add - i32.load8_u $0 + i32.load16_u $0 local.set $2 i32.const 3 global.set $~argumentsLength @@ -54141,26 +52685,26 @@ local.get $2 local.get $0 local.get $5 - i32.const 6544 + i32.const 6672 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0643 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0648 + br $for-loop|0676 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0651 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0679 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6576 + i32.const 6704 i32.store $0 offset=4 local.get $5 i32.load $0 offset=4 @@ -54169,16 +52713,20 @@ local.set $0 local.get $5 i32.load $0 offset=8 + i32.const 1 + i32.shr_u local.set $3 - loop $for-loop|0656 + loop $for-loop|0684 local.get $0 local.get $3 i32.lt_s if - local.get $0 local.get $4 + local.get $0 + i32.const 1 + i32.shl i32.add - i32.load8_u $0 + i32.load16_u $0 local.set $2 i32.const 3 global.set $~argumentsLength @@ -54186,17 +52734,17 @@ local.get $2 local.get $0 local.get $5 - i32.const 6576 + i32.const 6704 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0651 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0679 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0656 + br $for-loop|0684 end end i32.const 1 @@ -54213,31 +52761,31 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 i64.store $0 local.get $0 i32.const 3 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Int32Array#constructor local.tee $5 i32.store $0 local.get $5 i32.const 0 i32.const 2 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Int32Array#__set local.get $5 i32.const 1 i32.const 4 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Int32Array#__set local.get $5 i32.const 2 i32.const 6 - call $~lib/typedarray/Int16Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + call $~lib/typedarray/Int32Array#__set + block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6608 + i32.const 6736 i32.store $0 offset=4 local.get $5 i32.load $0 offset=4 @@ -54246,20 +52794,20 @@ local.set $0 local.get $5 i32.load $0 offset=8 - i32.const 1 + i32.const 2 i32.shr_u local.set $3 - loop $for-loop|0662 + loop $for-loop|0690 local.get $0 local.get $3 i32.lt_s if local.get $4 local.get $0 - i32.const 1 + i32.const 2 i32.shl i32.add - i32.load16_s $0 + i32.load $0 local.set $2 i32.const 3 global.set $~argumentsLength @@ -54267,26 +52815,26 @@ local.get $2 local.get $0 local.get $5 - i32.const 6608 + i32.const 6736 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0662 + br $for-loop|0690 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0665 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0693 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6640 + i32.const 6768 i32.store $0 offset=4 local.get $5 i32.load $0 offset=4 @@ -54295,20 +52843,20 @@ local.set $0 local.get $5 i32.load $0 offset=8 - i32.const 1 + i32.const 2 i32.shr_u local.set $3 - loop $for-loop|0670 + loop $for-loop|0698 local.get $0 local.get $3 i32.lt_s if local.get $4 local.get $0 - i32.const 1 + i32.const 2 i32.shl i32.add - i32.load16_s $0 + i32.load $0 local.set $2 i32.const 3 global.set $~argumentsLength @@ -54316,17 +52864,17 @@ local.get $2 local.get $0 local.get $5 - i32.const 6640 + i32.const 6768 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0665 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0693 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0670 + br $for-loop|0698 end end i32.const 1 @@ -54343,31 +52891,31 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 i64.store $0 local.get $0 i32.const 3 - call $~lib/typedarray/Uint16Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $5 i32.store $0 local.get $5 i32.const 0 i32.const 2 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $5 i32.const 1 i32.const 4 - call $~lib/typedarray/Uint16Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $5 i32.const 2 i32.const 6 - call $~lib/typedarray/Uint16Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + call $~lib/typedarray/Uint32Array#__set + block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6672 + i32.const 6800 i32.store $0 offset=4 local.get $5 i32.load $0 offset=4 @@ -54376,20 +52924,20 @@ local.set $0 local.get $5 i32.load $0 offset=8 - i32.const 1 + i32.const 2 i32.shr_u local.set $3 - loop $for-loop|0676 + loop $for-loop|0704 local.get $0 local.get $3 i32.lt_s if local.get $4 local.get $0 - i32.const 1 + i32.const 2 i32.shl i32.add - i32.load16_u $0 + i32.load $0 local.set $2 i32.const 3 global.set $~argumentsLength @@ -54397,26 +52945,26 @@ local.get $2 local.get $0 local.get $5 - i32.const 6672 + i32.const 6800 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0676 + br $for-loop|0704 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0679 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0707 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6704 + i32.const 6832 i32.store $0 offset=4 local.get $5 i32.load $0 offset=4 @@ -54425,20 +52973,20 @@ local.set $0 local.get $5 i32.load $0 offset=8 - i32.const 1 + i32.const 2 i32.shr_u local.set $3 - loop $for-loop|0684 + loop $for-loop|0712 local.get $0 local.get $3 i32.lt_s if local.get $4 local.get $0 - i32.const 1 + i32.const 2 i32.shl i32.add - i32.load16_u $0 + i32.load $0 local.set $2 i32.const 3 global.set $~argumentsLength @@ -54446,17 +52994,17 @@ local.get $2 local.get $0 local.get $5 - i32.const 6704 + i32.const 6832 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0679 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0707 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0684 + br $for-loop|0712 end end i32.const 1 @@ -54473,120 +53021,120 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 i64.store $0 local.get $0 i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $5 + call $~lib/typedarray/Int64Array#constructor + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $5 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $4 i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $5 + i64.const 4 + call $~lib/typedarray/Int64Array#__set + local.get $4 i32.const 2 - i32.const 6 - call $~lib/typedarray/Int32Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + i64.const 6 + call $~lib/typedarray/Int64Array#__set + block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6736 + i32.const 6864 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - i32.const 2 + i32.const 3 i32.shr_u - local.set $3 - loop $for-loop|0690 + local.set $2 + loop $for-loop|0718 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load $0 - local.set $2 + i64.load $0 + local.set $11 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $11 local.get $0 - local.get $5 - i32.const 6736 + local.get $4 + i32.const 6864 i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0690 + br $for-loop|0718 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0693 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0721 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6768 + i32.const 6896 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - i32.const 2 + i32.const 3 i32.shr_u - local.set $3 - loop $for-loop|0698 + local.set $2 + loop $for-loop|0726 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load $0 - local.set $2 + i64.load $0 + local.set $11 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $11 local.get $0 - local.get $5 - i32.const 6768 + local.get $4 + i32.const 6896 i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0693 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0721 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0698 + br $for-loop|0726 end end i32.const 1 @@ -54603,120 +53151,120 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 i64.store $0 local.get $0 i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $5 + call $~lib/typedarray/Uint64Array#constructor + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $5 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $4 i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set - local.get $5 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + local.get $4 i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint32Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + i64.const 6 + call $~lib/typedarray/Uint64Array#__set + block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6800 + i32.const 6928 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - i32.const 2 + i32.const 3 i32.shr_u - local.set $3 - loop $for-loop|0704 + local.set $2 + loop $for-loop|0732 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load $0 - local.set $2 + i64.load $0 + local.set $11 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $11 local.get $0 - local.get $5 - i32.const 6800 + local.get $4 + i32.const 6928 i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0704 + br $for-loop|0732 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0707 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0735 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6832 + i32.const 6960 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - i32.const 2 + i32.const 3 i32.shr_u - local.set $3 - loop $for-loop|0712 + local.set $2 + loop $for-loop|0740 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load $0 - local.set $2 + i64.load $0 + local.set $11 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $11 local.get $0 - local.get $5 - i32.const 6832 + local.get $4 + i32.const 6960 i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0707 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0735 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0712 + br $for-loop|0740 end end i32.const 1 @@ -54733,31 +53281,31 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 i64.store $0 local.get $0 i32.const 3 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $4 i32.store $0 local.get $4 i32.const 0 - i64.const 2 - call $~lib/typedarray/Int64Array#__set + f32.const 2 + call $~lib/typedarray/Float32Array#__set local.get $4 i32.const 1 - i64.const 4 - call $~lib/typedarray/Int64Array#__set + f32.const 4 + call $~lib/typedarray/Float32Array#__set local.get $4 i32.const 2 - i64.const 6 - call $~lib/typedarray/Int64Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + f32.const 6 + call $~lib/typedarray/Float32Array#__set + block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6864 + i32.const 6992 i32.store $0 offset=4 local.get $4 i32.load $0 offset=4 @@ -54766,47 +53314,47 @@ local.set $0 local.get $4 i32.load $0 offset=8 - i32.const 3 + i32.const 2 i32.shr_u local.set $2 - loop $for-loop|0718 + loop $for-loop|0746 local.get $0 local.get $2 i32.lt_s if local.get $3 local.get $0 - i32.const 3 + i32.const 2 i32.shl i32.add - i64.load $0 - local.set $11 + f32.load $0 + local.set $6 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $11 + local.get $6 local.get $0 local.get $4 - i32.const 6864 + i32.const 6992 i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + call_indirect $0 (type $f32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0718 + br $for-loop|0746 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0721 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0749 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6896 + i32.const 7024 i32.store $0 offset=4 local.get $4 i32.load $0 offset=4 @@ -54815,38 +53363,38 @@ local.set $0 local.get $4 i32.load $0 offset=8 - i32.const 3 + i32.const 2 i32.shr_u local.set $2 - loop $for-loop|0726 + loop $for-loop|0754 local.get $0 local.get $2 i32.lt_s if local.get $3 local.get $0 - i32.const 3 + i32.const 2 i32.shl i32.add - i64.load $0 - local.set $11 + f32.load $0 + local.set $6 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $11 + local.get $6 local.get $0 local.get $4 - i32.const 6896 + i32.const 7024 i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + call_indirect $0 (type $f32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0721 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0749 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0726 + br $for-loop|0754 end end i32.const 1 @@ -54863,31 +53411,31 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 i64.store $0 local.get $0 i32.const 3 - call $~lib/typedarray/Uint64Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $4 i32.store $0 local.get $4 i32.const 0 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set + f64.const 2 + call $~lib/typedarray/Float64Array#__set local.get $4 i32.const 1 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set + f64.const 4 + call $~lib/typedarray/Float64Array#__set local.get $4 i32.const 2 - i64.const 6 - call $~lib/typedarray/Uint64Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + f64.const 6 + call $~lib/typedarray/Float64Array#__set + block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6928 + i32.const 7056 i32.store $0 offset=4 local.get $4 i32.load $0 offset=4 @@ -54899,7 +53447,7 @@ i32.const 3 i32.shr_u local.set $2 - loop $for-loop|0732 + loop $for-loop|0760 local.get $0 local.get $2 i32.lt_s @@ -54909,34 +53457,34 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.set $11 + f64.load $0 + local.set $10 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $11 + local.get $10 local.get $0 local.get $4 - i32.const 6928 + i32.const 7056 i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + call_indirect $0 (type $f64_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0732 + br $for-loop|0760 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0735 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0763 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 6960 + i32.const 7088 i32.store $0 offset=4 local.get $4 i32.load $0 offset=4 @@ -54948,7 +53496,7 @@ i32.const 3 i32.shr_u local.set $2 - loop $for-loop|0740 + loop $for-loop|0768 local.get $0 local.get $2 i32.lt_s @@ -54958,292 +53506,539 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.set $11 + f64.load $0 + local.set $10 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $11 + local.get $10 local.get $0 local.get $4 - i32.const 6960 + i32.const 7088 i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + call_indirect $0 (type $f64_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0735 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0763 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0740 + br $for-loop|0768 end end i32.const 1 end br_if $folding-inner13 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner28 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $5 + i32.store $0 + local.get $5 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.const 7152 + i32.const 0 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 + i32.const 1 + i32.const 7152 + i32.const 1 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 + i32.const 2 + i32.const 7152 + i32.const 2 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7200 + i32.store $0 offset=8 + local.get $5 + i32.load $0 offset=4 + local.set $4 + i32.const 0 + local.set $0 + local.get $5 + i32.load $0 offset=8 + local.set $3 + loop $for-loop|0774 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $4 + i32.add + i32.load8_s $0 + local.set $2 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $5 + i32.const 7200 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0774 + end + end + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.ne + br_if $folding-inner14 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 i64.store $0 local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $5 i32.store $0 - local.get $4 + local.get $5 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 i32.const 0 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $4 + i32.const 7152 + i32.const 0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 i32.const 1 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $4 + i32.const 7152 + i32.const 1 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 i32.const 2 - f32.const 6 - call $~lib/typedarray/Float32Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6992 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $0 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|0746 + i32.const 7152 + i32.const 2 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7232 + i32.store $0 offset=8 + local.get $5 + i32.load $0 offset=4 + local.set $4 + i32.const 0 + local.set $0 + local.get $5 + i32.load $0 offset=8 + local.set $3 + loop $for-loop|0780 + local.get $0 + local.get $3 + i32.lt_s + if local.get $0 + local.get $4 + i32.add + i32.load8_u $0 + local.set $2 + i32.const 3 + global.set $~argumentsLength local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $6 - local.get $0 - local.get $4 - i32.const 6992 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 - drop - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0746 - end + local.get $0 + local.get $5 + i32.const 7232 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0780 end - i32.const 1 end - i32.eqz - br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0749 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $0 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|0754 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $6 - local.get $0 - local.get $4 - i32.const 7024 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0749 - drop - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0754 - end + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.ne + br_if $folding-inner14 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner28 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $5 + i32.store $0 + local.get $5 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.const 7152 + i32.const 0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 + i32.const 1 + i32.const 7152 + i32.const 1 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 + i32.const 2 + i32.const 7152 + i32.const 2 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 7264 + i32.store $0 offset=8 + local.get $5 + i32.load $0 offset=4 + local.set $4 + i32.const 0 + local.set $0 + local.get $5 + i32.load $0 offset=8 + local.set $3 + loop $for-loop|0788 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $4 + i32.add + i32.load8_u $0 + local.set $2 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $5 + i32.const 7264 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0788 end - i32.const 1 end - br_if $folding-inner13 + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.ne + br_if $folding-inner14 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 i64.store $0 local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $4 + call $~lib/typedarray/Int16Array#constructor + local.tee $5 i32.store $0 - local.get $4 + local.get $5 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 i32.const 0 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $4 + i32.const 7152 + i32.const 0 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 i32.const 1 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $4 + i32.const 7152 + i32.const 1 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 i32.const 2 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 7056 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $0 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $2 - loop $for-loop|0760 + i32.const 7152 + i32.const 2 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7296 + i32.store $0 offset=8 + local.get $5 + i32.load $0 offset=4 + local.set $4 + i32.const 0 + local.set $0 + local.get $5 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + local.set $3 + loop $for-loop|0794 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $4 local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $2 + i32.const 3 + global.set $~argumentsLength local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $10 - local.get $0 - local.get $4 - i32.const 7056 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 - drop - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0760 - end + local.get $0 + local.get $5 + i32.const 7296 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0794 end - i32.const 1 end - i32.eqz - br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0763 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 7088 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $0 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $2 - loop $for-loop|0768 + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.ne + br_if $folding-inner14 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner28 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $5 + i32.store $0 + local.get $5 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.const 7152 + i32.const 0 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 + i32.const 1 + i32.const 7152 + i32.const 1 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $5 + i32.const 2 + i32.const 7152 + i32.const 2 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7328 + i32.store $0 offset=8 + local.get $5 + i32.load $0 offset=4 + local.set $4 + i32.const 0 + local.set $0 + local.get $5 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + local.set $3 + loop $for-loop|0800 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $4 local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $2 + i32.const 3 + global.set $~argumentsLength local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $10 - local.get $0 - local.get $4 - i32.const 7088 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0763 - drop - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0768 - end + local.get $0 + local.get $5 + i32.const 7328 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0800 end - i32.const 1 end - br_if $folding-inner13 + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.ne + br_if $folding-inner14 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -55253,7 +54048,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -55265,7 +54060,7 @@ global.set $std/typedarray/forEachCallCount local.get $0 i32.const 3 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Int32Array#constructor local.tee $5 i32.store $0 local.get $5 @@ -55278,8 +54073,7 @@ i32.const 7152 i32.const 0 call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set + call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 @@ -55288,8 +54082,7 @@ i32.const 7152 i32.const 1 call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set + call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 @@ -55298,10 +54091,9 @@ i32.const 7152 i32.const 2 call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set + call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - i32.const 7200 + i32.const 7360 i32.store $0 offset=8 local.get $5 i32.load $0 offset=4 @@ -55310,30 +54102,34 @@ local.set $0 local.get $5 i32.load $0 offset=8 + i32.const 2 + i32.shr_u local.set $3 - loop $for-loop|0774 + loop $for-loop|0806 local.get $0 local.get $3 i32.lt_s if - local.get $0 local.get $4 + local.get $0 + i32.const 2 + i32.shl i32.add - i32.load8_s $0 + i32.load $0 local.set $2 i32.const 3 global.set $~argumentsLength local.get $2 local.get $0 local.get $5 - i32.const 7200 + i32.const 7360 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0774 + br $for-loop|0806 end end global.get $std/typedarray/forEachCallCount @@ -55351,7 +54147,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -55363,7 +54159,7 @@ global.set $std/typedarray/forEachCallCount local.get $0 i32.const 3 - call $~lib/typedarray/Uint8Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $5 i32.store $0 local.get $5 @@ -55376,9 +54172,7 @@ i32.const 7152 i32.const 0 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 @@ -55387,9 +54181,7 @@ i32.const 7152 i32.const 1 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 @@ -55398,11 +54190,9 @@ i32.const 7152 i32.const 2 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - i32.const 7232 + i32.const 7392 i32.store $0 offset=8 local.get $5 i32.load $0 offset=4 @@ -55411,30 +54201,34 @@ local.set $0 local.get $5 i32.load $0 offset=8 + i32.const 2 + i32.shr_u local.set $3 - loop $for-loop|0780 + loop $for-loop|0812 local.get $0 local.get $3 i32.lt_s if - local.get $0 local.get $4 + local.get $0 + i32.const 2 + i32.shl i32.add - i32.load8_u $0 + i32.load $0 local.set $2 i32.const 3 global.set $~argumentsLength local.get $2 local.get $0 local.get $5 - i32.const 7232 + i32.const 7392 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0780 + br $for-loop|0812 end end global.get $std/typedarray/forEachCallCount @@ -55452,7 +54246,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -55464,78 +54258,181 @@ global.set $std/typedarray/forEachCallCount local.get $0 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 + call $~lib/typedarray/Int64Array#constructor + local.tee $4 i32.store $0 - local.get $5 + local.get $4 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 0 i32.const 7152 i32.const 0 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 1 i32.const 7152 i32.const 1 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 i32.const 7152 i32.const 2 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 7264 + i32.const 7424 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + local.set $2 + loop $for-loop|0818 + local.get $0 + local.get $2 + i32.lt_s + if + local.get $3 + local.get $0 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $11 + i32.const 3 + global.set $~argumentsLength + local.get $11 + local.get $0 + local.get $4 + i32.const 7424 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_none) + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0818 + end + end + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.ne + br_if $folding-inner14 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner28 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $4 + i32.store $0 + local.get $4 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + i32.const 7152 + i32.const 0 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $4 + i32.const 1 + i32.const 7152 + i32.const 1 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=4 + local.get $4 + i32.const 2 + i32.const 7152 + i32.const 2 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + local.set $3 + i32.const 0 + local.set $0 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0788 + i32.const 3 + i32.shr_u + local.set $2 + loop $for-loop|0824 local.get $0 - local.get $3 + local.get $2 i32.lt_s if + local.get $3 local.get $0 - local.get $4 + i32.const 3 + i32.shl i32.add - i32.load8_u $0 - local.set $2 + i64.load $0 + local.set $11 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $11 local.get $0 - local.get $5 - i32.const 7264 + local.get $4 + i32.const 7456 i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + call_indirect $0 (type $i64_i32_i32_=>_none) local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0788 + br $for-loop|0824 end end global.get $std/typedarray/forEachCallCount @@ -55553,7 +54450,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -55565,79 +54462,79 @@ global.set $std/typedarray/forEachCallCount local.get $0 i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $5 + call $~lib/typedarray/Float32Array#constructor + local.tee $4 i32.store $0 - local.get $5 + local.get $4 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 0 i32.const 7152 i32.const 0 call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 1 i32.const 7152 i32.const 1 call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 i32.const 7152 i32.const 2 call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - i32.const 7296 + i32.const 7488 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - i32.const 1 + i32.const 2 i32.shr_u - local.set $3 - loop $for-loop|0794 + local.set $2 + loop $for-loop|0830 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 - i32.const 1 + i32.const 2 i32.shl i32.add - i32.load16_s $0 - local.set $2 + f32.load $0 + local.set $6 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $6 local.get $0 - local.get $5 - i32.const 7296 + local.get $4 + i32.const 7488 i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + call_indirect $0 (type $f32_i32_i32_=>_none) local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0794 + br $for-loop|0830 end end global.get $std/typedarray/forEachCallCount @@ -55655,7 +54552,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -55667,700 +54564,972 @@ global.set $std/typedarray/forEachCallCount local.get $0 i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $5 + call $~lib/typedarray/Float64Array#constructor + local.tee $4 i32.store $0 - local.get $5 + local.get $4 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 0 i32.const 7152 i32.const 0 call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 1 i32.const 7152 i32.const 1 call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 i32.const 7152 i32.const 2 call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 7328 + i32.const 7520 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - i32.const 1 + i32.const 3 i32.shr_u - local.set $3 - loop $for-loop|0800 + local.set $2 + loop $for-loop|0836 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 - i32.const 1 + i32.const 3 i32.shl i32.add - i32.load16_u $0 - local.set $2 + f64.load $0 + local.set $10 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $10 local.get $0 - local.get $5 - i32.const 7328 + local.get $4 + i32.const 7520 i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + call_indirect $0 (type $f64_i32_i32_=>_none) local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0800 + br $for-loop|0836 end end global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne - br_if $folding-inner14 + br_if $folding-inner14 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner28 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 7616 + i32.store $0 + local.get $0 + i32.const 7628 + i32.load $0 + local.tee $3 + call $~lib/typedarray/Int8Array#constructor + local.tee $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store $0 offset=8 + i32.const 0 + local.set $12 + loop $for-loop|0840 + local.get $3 + local.get $12 + i32.gt_s + if + local.get $2 + local.get $12 + i32.const 7616 + local.get $12 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $0 + local.get $12 + i32.const 7616 + local.get $12 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $for-loop|0840 + end + end + local.get $2 + call $~lib/typedarray/Int8Array#reverse + drop + i32.const 0 + local.set $12 + loop $for-loop|1 + local.get $3 + local.get $12 + i32.gt_s + if + local.get $2 + local.get $12 + call $~lib/typedarray/Int8Array#__get + i32.const 7616 + local.get $3 + i32.const 1 + i32.sub + local.get $12 + i32.sub + call $~lib/array/Array#__get + i32.extend8_s + i32.ne + br_if $folding-inner29 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.set $2 + local.get $0 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Int8Array#subarray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + local.get $2 + local.get $0 + call $~lib/typedarray/Int8Array#reverse + local.tee $0 + i32.store $0 offset=16 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 8 + i32.ne + br_if $folding-inner30 + local.get $0 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 7 + i32.ne + br_if $folding-inner31 + local.get $0 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 6 + i32.ne + br_if $folding-inner32 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int8Array#__get + i32.const 5 + i32.ne + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 + local.tee $2 i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $5 + i32.const 20 + memory.fill $0 + local.get $2 + i32.const 7616 i32.store $0 - local.get $5 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $5 - i32.const 0 - i32.const 7152 - i32.const 0 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $5 - i32.const 1 - i32.const 7152 - i32.const 1 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 + local.get $2 + i32.const 7628 + i32.load $0 + local.tee $4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store $0 offset=4 - local.get $5 - i32.const 2 - i32.const 7152 - i32.const 2 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - i32.const 7360 + local.get $4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $3 i32.store $0 offset=8 - local.get $5 - i32.load $0 offset=4 - local.set $4 - i32.const 0 - local.set $0 - local.get $5 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $3 - loop $for-loop|0806 + loop $for-loop|05 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $4 + local.get $2 local.get $0 - i32.const 2 - i32.shl + i32.const 7616 + local.get $0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $3 + local.get $0 + i32.const 7616 + local.get $0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 i32.add - i32.load $0 - local.set $2 - i32.const 3 - global.set $~argumentsLength + local.set $0 + br $for-loop|05 + end + end + local.get $2 + call $~lib/typedarray/Int8Array#reverse + drop + i32.const 0 + local.set $0 + loop $for-loop|16 + local.get $0 + local.get $4 + i32.lt_s + if local.get $2 local.get $0 - local.get $5 - i32.const 7360 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + call $~lib/typedarray/Uint8Array#__get + i32.const 7616 + local.get $4 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i32.const 255 + i32.and + i32.ne + br_if $folding-inner29 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0806 + br $for-loop|16 end end - global.get $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + local.set $2 + local.get $3 + i32.const 8 + call $~lib/typedarray/Uint8Array#subarray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + local.get $2 + local.get $0 + call $~lib/typedarray/Int8Array#reverse + local.tee $0 + i32.store $0 offset=16 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 8 + i32.ne + br_if $folding-inner30 + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 7 + i32.ne + br_if $folding-inner31 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 6 + i32.ne + br_if $folding-inner32 + local.get $0 i32.const 3 + call $~lib/typedarray/Uint8Array#__get + i32.const 5 i32.ne - br_if $folding-inner14 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 + local.tee $2 i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $5 + i32.const 20 + memory.fill $0 + local.get $2 + i32.const 7616 i32.store $0 - local.get $5 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $5 - i32.const 0 - i32.const 7152 - i32.const 0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $5 - i32.const 1 - i32.const 7152 - i32.const 1 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $5 - i32.const 2 - i32.const 7152 - i32.const 2 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7392 - i32.store $0 offset=8 - local.get $5 - i32.load $0 offset=4 - local.set $4 - i32.const 0 - local.set $0 - local.get $5 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $3 - loop $for-loop|0812 + local.get $2 + i32.const 7628 + i32.load $0 + local.tee $4 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $3 + i32.store $0 offset=8 + loop $for-loop|07 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $4 + local.get $2 local.get $0 - i32.const 2 - i32.shl + i32.const 7616 + local.get $0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $3 + local.get $0 + i32.const 7616 + local.get $0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 i32.add - i32.load $0 - local.set $2 - i32.const 3 - global.set $~argumentsLength + local.set $0 + br $for-loop|07 + end + end + local.get $2 + call $~lib/typedarray/Int8Array#reverse + drop + i32.const 0 + local.set $0 + loop $for-loop|18 + local.get $0 + local.get $4 + i32.lt_s + if local.get $2 local.get $0 - local.get $5 - i32.const 7392 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 7616 + local.get $4 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i32.const 255 + i32.and + i32.ne + br_if $folding-inner29 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0812 + br $for-loop|18 end end - global.get $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + local.set $2 + local.get $3 + i32.const 8 + call $~lib/typedarray/Uint8ClampedArray#subarray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + local.get $2 + local.get $0 + call $~lib/typedarray/Int8Array#reverse + local.tee $0 + i32.store $0 offset=16 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 8 + i32.ne + br_if $folding-inner30 + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 7 + i32.ne + br_if $folding-inner31 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 6 + i32.ne + br_if $folding-inner32 + local.get $0 i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 5 i32.ne - br_if $folding-inner14 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 i32.const 0 - global.set $std/typedarray/forEachCallCount + i32.const 20 + memory.fill $0 local.get $0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $4 + i32.const 7616 i32.store $0 - local.get $4 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 0 - i32.const 7152 - i32.const 0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 1 - i32.const 7152 - i32.const 1 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 + local.get $0 + i32.const 7628 + i32.load $0 + local.tee $3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 i32.store $0 offset=4 - local.get $4 - i32.const 2 - i32.const 7152 - i32.const 2 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 7424 + local.get $3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 - local.set $3 i32.const 0 - local.set $0 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $2 - loop $for-loop|0818 - local.get $0 - local.get $2 - i32.lt_s + local.set $12 + loop $for-loop|0846 + local.get $3 + local.get $12 + i32.gt_s if - local.get $3 + local.get $2 + local.get $12 + i32.const 7616 + local.get $12 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set local.get $0 - i32.const 3 - i32.shl + local.get $12 + i32.const 7616 + local.get $12 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + local.get $12 + i32.const 1 i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $11 - local.get $0 - local.get $4 - i32.const 7424 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_none) - local.get $0 + local.set $12 + br $for-loop|0846 + end + end + local.get $2 + call $~lib/typedarray/Int16Array#reverse + drop + i32.const 0 + local.set $12 + loop $for-loop|1849 + local.get $3 + local.get $12 + i32.gt_s + if + local.get $2 + local.get $12 + call $~lib/typedarray/Int16Array#__get + i32.const 7616 + local.get $3 + i32.const 1 + i32.sub + local.get $12 + i32.sub + call $~lib/array/Array#__get + i32.extend16_s + i32.ne + br_if $folding-inner29 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|0818 + local.set $12 + br $for-loop|1849 end end - global.get $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + local.set $2 + local.get $0 + i32.const 8 + call $~lib/typedarray/Int16Array#subarray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + local.get $2 + local.get $0 + call $~lib/typedarray/Int16Array#reverse + local.tee $0 + i32.store $0 offset=16 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 8 + i32.ne + br_if $folding-inner30 + local.get $0 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 7 + i32.ne + br_if $folding-inner31 + local.get $0 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 6 + i32.ne + br_if $folding-inner32 + local.get $0 i32.const 3 + call $~lib/typedarray/Int16Array#__get + i32.const 5 i32.ne - br_if $folding-inner14 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 + local.tee $2 i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + i32.const 20 + memory.fill $0 + local.get $2 + i32.const 7616 i32.store $0 - local.get $4 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 0 - i32.const 7152 - i32.const 0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 + local.get $2 + i32.const 7628 + i32.load $0 + local.tee $4 + call $~lib/typedarray/Uint16Array#constructor + local.tee $2 i32.store $0 offset=4 - local.get $4 - i32.const 1 - i32.const 7152 - i32.const 1 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 local.get $4 - i32.const 2 - i32.const 7152 - i32.const 2 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7456 + call $~lib/typedarray/Uint16Array#constructor + local.tee $3 i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $0 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $2 - loop $for-loop|0824 + loop $for-loop|0932 local.get $0 - local.get $2 + local.get $4 i32.lt_s if + local.get $2 + local.get $0 + i32.const 7616 + local.get $0 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set local.get $3 local.get $0 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $11 + i32.const 7616 local.get $0 - local.get $4 - i32.const 7456 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_none) + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0824 + br $for-loop|0932 end end - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner14 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner23 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 0 - i32.const 7152 - i32.const 0 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 1 - i32.const 7152 - i32.const 1 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 2 - i32.const 7152 - i32.const 2 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7488 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 - local.set $3 + local.get $2 + call $~lib/typedarray/Int16Array#reverse + drop i32.const 0 local.set $0 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|0830 + loop $for-loop|110 local.get $0 - local.get $2 + local.get $4 i32.lt_s if - local.get $3 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 3 - global.set $~argumentsLength - local.get $6 + local.get $2 local.get $0 + call $~lib/typedarray/Uint16Array#__get + i32.const 7616 local.get $4 - i32.const 7488 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_none) + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i32.const 65535 + i32.and + i32.ne + br_if $folding-inner29 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0830 + br $for-loop|110 end end - global.get $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + local.set $2 + local.get $3 + i32.const 8 + call $~lib/typedarray/Uint16Array#subarray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + local.get $2 + local.get $0 + call $~lib/typedarray/Int16Array#reverse + local.tee $0 + i32.store $0 offset=16 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 8 + i32.ne + br_if $folding-inner30 + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 7 + i32.ne + br_if $folding-inner31 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 6 + i32.ne + br_if $folding-inner32 + local.get $0 i32.const 3 + call $~lib/typedarray/Uint16Array#__get + i32.const 5 i32.ne - br_if $folding-inner14 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 i32.const 0 - global.set $std/typedarray/forEachCallCount + i32.const 20 + memory.fill $0 local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $4 + i32.const 7616 i32.store $0 - local.get $4 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 + local.get $0 + i32.const 7628 + i32.load $0 + local.tee $9 + call $~lib/typedarray/Int32Array#constructor + local.tee $8 i32.store $0 offset=4 - local.get $4 + global.get $~lib/memory/__stack_pointer + local.get $9 + call $~lib/typedarray/Int32Array#constructor + local.tee $7 + i32.store $0 offset=8 i32.const 0 - i32.const 7152 + local.set $12 + loop $for-loop|0855 + local.get $9 + local.get $12 + i32.gt_s + if + local.get $8 + local.get $12 + i32.const 7616 + local.get $12 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $7 + local.get $12 + i32.const 7616 + local.get $12 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $for-loop|0855 + end + end i32.const 0 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 1 - i32.const 7152 + local.set $12 + local.get $8 + i32.load $0 offset=4 + local.set $5 + local.get $8 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + local.tee $0 i32.const 1 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set + i32.gt_u + if + local.get $0 + i32.const 1 + i32.shr_u + local.set $4 + local.get $0 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|0 + local.get $4 + local.get $12 + i32.gt_u + if + local.get $5 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + local.set $2 + local.get $0 + local.get $5 + local.get $3 + local.get $12 + i32.sub + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 + local.get $0 + local.get $2 + i32.store $0 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $while-continue|0 + end + end + end + i32.const 0 + local.set $12 + loop $for-loop|1858 + local.get $9 + local.get $12 + i32.gt_s + if + local.get $8 + local.get $12 + call $~lib/typedarray/Int32Array#__get + i32.const 7616 + local.get $9 + i32.const 1 + i32.sub + local.get $12 + i32.sub + call $~lib/array/Array#__get + i32.ne + br_if $folding-inner29 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $for-loop|1858 + end + end global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 2 - i32.const 7152 - i32.const 2 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set + local.set $8 + local.get $7 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Int32Array#subarray + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 7520 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 - local.set $3 + local.get $7 + i32.store $0 offset=12 i32.const 0 - local.set $0 - local.get $4 + local.set $12 + local.get $7 + i32.load $0 offset=4 + local.set $5 + local.get $7 i32.load $0 offset=8 - i32.const 3 + i32.const 2 i32.shr_u - local.set $2 - loop $for-loop|0836 + local.tee $0 + i32.const 1 + i32.gt_u + if local.get $0 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 3 - global.set $~argumentsLength - local.get $10 - local.get $0 + i32.const 1 + i32.shr_u + local.set $4 + local.get $0 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|012 local.get $4 - i32.const 7520 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_none) - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0836 + local.get $12 + i32.gt_u + if + local.get $5 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + local.set $2 + local.get $0 + local.get $5 + local.get $3 + local.get $12 + i32.sub + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 + local.get $0 + local.get $2 + i32.store $0 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $while-continue|012 + end end end - global.get $std/typedarray/forEachCallCount + local.get $8 + local.get $7 + i32.store $0 offset=16 + local.get $7 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 8 + i32.ne + br_if $folding-inner30 + local.get $7 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 7 + i32.ne + br_if $folding-inner31 + local.get $7 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 6 + i32.ne + br_if $folding-inner32 + local.get $7 i32.const 3 + call $~lib/typedarray/Int32Array#__get + i32.const 5 i32.ne - br_if $folding-inner14 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -56368,128 +55537,231 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i32.const 0 i32.const 20 memory.fill $0 - local.get $2 + local.get $0 i32.const 7616 i32.store $0 - local.get $2 + local.get $0 i32.const 7628 i32.load $0 - local.tee $4 - call $~lib/typedarray/Int8Array#constructor - local.tee $2 + local.tee $9 + call $~lib/typedarray/Uint32Array#constructor + local.tee $8 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int8Array#constructor - local.tee $3 + local.get $9 + call $~lib/typedarray/Uint32Array#constructor + local.tee $7 i32.store $0 offset=8 - loop $for-loop|05 - local.get $0 - local.get $4 - i32.lt_s + i32.const 0 + local.set $12 + loop $for-loop|0864 + local.get $9 + local.get $12 + i32.gt_s if - local.get $2 - local.get $0 + local.get $8 + local.get $12 i32.const 7616 - local.get $0 + local.get $12 call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $3 - local.get $0 + call $~lib/typedarray/Uint32Array#__set + local.get $7 + local.get $12 i32.const 7616 - local.get $0 + local.get $12 call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $0 + call $~lib/typedarray/Uint32Array#__set + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|05 + local.set $12 + br $for-loop|0864 end end - local.get $2 - call $~lib/typedarray/Int8Array#reverse - drop i32.const 0 - local.set $0 - loop $for-loop|1 + local.set $12 + local.get $8 + i32.load $0 offset=4 + local.set $5 + local.get $8 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + local.tee $0 + i32.const 1 + i32.gt_u + if local.get $0 - local.get $4 - i32.lt_s + i32.const 1 + i32.shr_u + local.set $4 + local.get $0 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|014 + local.get $4 + local.get $12 + i32.gt_u + if + local.get $5 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + local.set $2 + local.get $0 + local.get $5 + local.get $3 + local.get $12 + i32.sub + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 + local.get $0 + local.get $2 + i32.store $0 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $while-continue|014 + end + end + end + i32.const 0 + local.set $12 + loop $for-loop|1867 + local.get $9 + local.get $12 + i32.gt_s if - local.get $2 - local.get $0 - call $~lib/typedarray/Int8Array#__get + local.get $8 + local.get $12 + call $~lib/typedarray/Uint32Array#__get i32.const 7616 - local.get $4 + local.get $9 i32.const 1 i32.sub - local.get $0 + local.get $12 i32.sub call $~lib/array/Array#__get - i32.extend8_s i32.ne - br_if $folding-inner24 - local.get $0 + br_if $folding-inner29 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $12 + br $for-loop|1867 end end global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $3 - i32.const 4 + local.set $8 + local.get $7 i32.const 8 - call $~lib/typedarray/Int8Array#subarray - local.set $0 + call $~lib/typedarray/Uint32Array#subarray + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store $0 offset=12 - local.get $2 - local.get $0 - call $~lib/typedarray/Int8Array#reverse + i32.const 0 + local.set $12 + local.get $7 + i32.load $0 offset=4 + local.set $5 + local.get $7 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u local.tee $0 + i32.const 1 + i32.gt_u + if + local.get $0 + i32.const 1 + i32.shr_u + local.set $4 + local.get $0 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|016 + local.get $4 + local.get $12 + i32.gt_u + if + local.get $5 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + local.set $2 + local.get $0 + local.get $5 + local.get $3 + local.get $12 + i32.sub + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 + local.get $0 + local.get $2 + i32.store $0 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $while-continue|016 + end + end + end + local.get $8 + local.get $7 i32.store $0 offset=16 - local.get $0 + local.get $7 i32.const 0 - call $~lib/typedarray/Int8Array#__get + call $~lib/typedarray/Uint32Array#__get i32.const 8 i32.ne - br_if $folding-inner25 - local.get $0 + br_if $folding-inner30 + local.get $7 i32.const 1 - call $~lib/typedarray/Int8Array#__get + call $~lib/typedarray/Uint32Array#__get i32.const 7 i32.ne - br_if $folding-inner26 - local.get $0 + br_if $folding-inner31 + local.get $7 i32.const 2 - call $~lib/typedarray/Int8Array#__get + call $~lib/typedarray/Uint32Array#__get i32.const 6 i32.ne - br_if $folding-inner27 - local.get $0 + br_if $folding-inner32 + local.get $7 i32.const 3 - call $~lib/typedarray/Int8Array#__get + call $~lib/typedarray/Uint32Array#__get i32.const 5 i32.ne - br_if $folding-inner28 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -56497,130 +55769,234 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i32.const 0 i32.const 20 memory.fill $0 - local.get $2 + local.get $0 i32.const 7616 i32.store $0 - local.get $2 + local.get $0 i32.const 7628 i32.load $0 - local.tee $4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 + local.tee $8 + call $~lib/typedarray/Int64Array#constructor + local.tee $7 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $3 + local.get $8 + call $~lib/typedarray/Int64Array#constructor + local.tee $5 i32.store $0 offset=8 - loop $for-loop|0633 - local.get $0 - local.get $4 - i32.lt_s + i32.const 0 + local.set $12 + loop $for-loop|0873 + local.get $8 + local.get $12 + i32.gt_s if - local.get $2 - local.get $0 + local.get $7 + local.get $12 i32.const 7616 - local.get $0 + local.get $12 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $3 - local.get $0 + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $5 + local.get $12 i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $0 + local.get $12 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|0633 + local.set $12 + br $for-loop|0873 end end - local.get $2 - call $~lib/typedarray/Int8Array#reverse - drop i32.const 0 - local.set $0 - loop $for-loop|17 + local.set $12 + local.get $7 + i32.load $0 offset=4 + local.set $4 + local.get $7 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + local.tee $0 + i32.const 1 + i32.gt_u + if local.get $0 - local.get $4 - i32.lt_s + i32.const 1 + i32.shr_u + local.set $3 + local.get $0 + i32.const 1 + i32.sub + local.set $2 + loop $while-continue|017 + local.get $3 + local.get $12 + i32.gt_u + if + local.get $4 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.tee $0 + i64.load $0 + local.set $11 + local.get $0 + local.get $4 + local.get $2 + local.get $12 + i32.sub + i32.const 3 + i32.shl + i32.add + local.tee $0 + i64.load $0 + i64.store $0 + local.get $0 + local.get $11 + i64.store $0 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $while-continue|017 + end + end + end + i32.const 0 + local.set $12 + loop $for-loop|1876 + local.get $8 + local.get $12 + i32.gt_s if - local.get $2 - local.get $0 - call $~lib/typedarray/Uint8Array#__get + local.get $7 + local.get $12 + call $~lib/typedarray/Int64Array#__get i32.const 7616 - local.get $4 + local.get $8 i32.const 1 i32.sub - local.get $0 + local.get $12 i32.sub call $~lib/array/Array#__get - i32.const 255 - i32.and - i32.ne - br_if $folding-inner24 - local.get $0 + i64.extend_i32_s + i64.ne + br_if $folding-inner29 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|17 + local.set $12 + br $for-loop|1876 end end global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $3 + local.set $7 + local.get $5 i32.const 8 - call $~lib/typedarray/Uint8Array#subarray - local.set $0 + call $~lib/typedarray/Int64Array#subarray + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $5 i32.store $0 offset=12 - local.get $2 - local.get $0 - call $~lib/typedarray/Int8Array#reverse + i32.const 0 + local.set $12 + local.get $5 + i32.load $0 offset=4 + local.set $4 + local.get $5 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u local.tee $0 + i32.const 1 + i32.gt_u + if + local.get $0 + i32.const 1 + i32.shr_u + local.set $3 + local.get $0 + i32.const 1 + i32.sub + local.set $2 + loop $while-continue|019 + local.get $3 + local.get $12 + i32.gt_u + if + local.get $4 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.tee $0 + i64.load $0 + local.set $11 + local.get $0 + local.get $4 + local.get $2 + local.get $12 + i32.sub + i32.const 3 + i32.shl + i32.add + local.tee $0 + i64.load $0 + i64.store $0 + local.get $0 + local.get $11 + i64.store $0 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $while-continue|019 + end + end + end + local.get $7 + local.get $5 i32.store $0 offset=16 - local.get $0 + local.get $5 i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 8 - i32.ne - br_if $folding-inner25 - local.get $0 + call $~lib/typedarray/Int64Array#__get + i64.const 8 + i64.ne + br_if $folding-inner30 + local.get $5 i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 7 - i32.ne - br_if $folding-inner26 - local.get $0 + call $~lib/typedarray/Int64Array#__get + i64.const 7 + i64.ne + br_if $folding-inner31 + local.get $5 i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 6 - i32.ne - br_if $folding-inner27 - local.get $0 + call $~lib/typedarray/Int64Array#__get + i64.const 6 + i64.ne + br_if $folding-inner32 + local.get $5 i32.const 3 - call $~lib/typedarray/Uint8Array#__get - i32.const 5 - i32.ne - br_if $folding-inner28 + call $~lib/typedarray/Int64Array#__get + i64.const 5 + i64.ne + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -56628,130 +56004,234 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i32.const 0 i32.const 20 memory.fill $0 - local.get $2 + local.get $0 i32.const 7616 i32.store $0 - local.get $2 + local.get $0 i32.const 7628 i32.load $0 - local.tee $4 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 + local.tee $8 + call $~lib/typedarray/Uint64Array#constructor + local.tee $7 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $3 + local.get $8 + call $~lib/typedarray/Uint64Array#constructor + local.tee $5 i32.store $0 offset=8 - loop $for-loop|08 - local.get $0 - local.get $4 - i32.lt_s + i32.const 0 + local.set $12 + loop $for-loop|0882 + local.get $8 + local.get $12 + i32.gt_s if - local.get $2 - local.get $0 + local.get $7 + local.get $12 i32.const 7616 - local.get $0 + local.get $12 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $3 - local.get $0 + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $5 + local.get $12 i32.const 7616 - local.get $0 + local.get $12 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|08 + local.set $12 + br $for-loop|0882 + end + end + i32.const 0 + local.set $12 + local.get $7 + i32.load $0 offset=4 + local.set $4 + local.get $7 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + local.tee $0 + i32.const 1 + i32.gt_u + if + local.get $0 + i32.const 1 + i32.shr_u + local.set $3 + local.get $0 + i32.const 1 + i32.sub + local.set $2 + loop $while-continue|021 + local.get $3 + local.get $12 + i32.gt_u + if + local.get $4 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.tee $0 + i64.load $0 + local.set $11 + local.get $0 + local.get $4 + local.get $2 + local.get $12 + i32.sub + i32.const 3 + i32.shl + i32.add + local.tee $0 + i64.load $0 + i64.store $0 + local.get $0 + local.get $11 + i64.store $0 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $while-continue|021 + end end end - local.get $2 - call $~lib/typedarray/Int8Array#reverse - drop i32.const 0 - local.set $0 - loop $for-loop|19 - local.get $0 - local.get $4 - i32.lt_s + local.set $12 + loop $for-loop|1885 + local.get $8 + local.get $12 + i32.gt_s if - local.get $2 - local.get $0 - call $~lib/typedarray/Uint8ClampedArray#__get + local.get $7 + local.get $12 + call $~lib/typedarray/Uint64Array#__get i32.const 7616 - local.get $4 + local.get $8 i32.const 1 i32.sub - local.get $0 + local.get $12 i32.sub call $~lib/array/Array#__get - i32.const 255 - i32.and - i32.ne - br_if $folding-inner24 - local.get $0 + i64.extend_i32_s + i64.ne + br_if $folding-inner29 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|19 + local.set $12 + br $for-loop|1885 end end global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $3 + local.set $7 + local.get $5 i32.const 8 - call $~lib/typedarray/Uint8ClampedArray#subarray - local.set $0 + call $~lib/typedarray/Uint64Array#subarray + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $5 i32.store $0 offset=12 - local.get $2 - local.get $0 - call $~lib/typedarray/Int8Array#reverse + i32.const 0 + local.set $12 + local.get $5 + i32.load $0 offset=4 + local.set $4 + local.get $5 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u local.tee $0 + i32.const 1 + i32.gt_u + if + local.get $0 + i32.const 1 + i32.shr_u + local.set $3 + local.get $0 + i32.const 1 + i32.sub + local.set $2 + loop $while-continue|023 + local.get $3 + local.get $12 + i32.gt_u + if + local.get $4 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.tee $0 + i64.load $0 + local.set $11 + local.get $0 + local.get $4 + local.get $2 + local.get $12 + i32.sub + i32.const 3 + i32.shl + i32.add + local.tee $0 + i64.load $0 + i64.store $0 + local.get $0 + local.get $11 + i64.store $0 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $while-continue|023 + end + end + end + local.get $7 + local.get $5 i32.store $0 offset=16 - local.get $0 + local.get $5 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 8 - i32.ne - br_if $folding-inner25 - local.get $0 + call $~lib/typedarray/Uint64Array#__get + i64.const 8 + i64.ne + br_if $folding-inner30 + local.get $5 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 7 - i32.ne - br_if $folding-inner26 - local.get $0 + call $~lib/typedarray/Uint64Array#__get + i64.const 7 + i64.ne + br_if $folding-inner31 + local.get $5 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 6 - i32.ne - br_if $folding-inner27 - local.get $0 + call $~lib/typedarray/Uint64Array#__get + i64.const 6 + i64.ne + br_if $folding-inner32 + local.get $5 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 5 - i32.ne - br_if $folding-inner28 + call $~lib/typedarray/Uint64Array#__get + i64.const 5 + i64.ne + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -56759,127 +56239,234 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i32.const 0 i32.const 20 memory.fill $0 - local.get $2 + local.get $0 i32.const 7616 i32.store $0 - local.get $2 + local.get $0 i32.const 7628 i32.load $0 - local.tee $4 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.tee $8 + call $~lib/typedarray/Float32Array#constructor + local.tee $7 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int16Array#constructor - local.tee $3 + local.get $8 + call $~lib/typedarray/Float32Array#constructor + local.tee $5 i32.store $0 offset=8 - loop $for-loop|010 - local.get $0 - local.get $4 - i32.lt_s + i32.const 0 + local.set $12 + loop $for-loop|0891 + local.get $8 + local.get $12 + i32.gt_s if - local.get $2 - local.get $0 + local.get $7 + local.get $12 i32.const 7616 - local.get $0 + local.get $12 call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $3 - local.get $0 + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $5 + local.get $12 i32.const 7616 - local.get $0 + local.get $12 call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $0 + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|010 + local.set $12 + br $for-loop|0891 end end - local.get $2 - call $~lib/typedarray/Int16Array#reverse - drop i32.const 0 - local.set $0 - loop $for-loop|111 + local.set $12 + local.get $7 + i32.load $0 offset=4 + local.set $4 + local.get $7 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + local.tee $0 + i32.const 1 + i32.gt_u + if local.get $0 - local.get $4 - i32.lt_s + i32.const 1 + i32.shr_u + local.set $3 + local.get $0 + i32.const 1 + i32.sub + local.set $2 + loop $while-continue|024 + local.get $3 + local.get $12 + i32.gt_u + if + local.get $4 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.tee $0 + f32.load $0 + local.set $6 + local.get $0 + local.get $4 + local.get $2 + local.get $12 + i32.sub + i32.const 2 + i32.shl + i32.add + local.tee $0 + f32.load $0 + f32.store $0 + local.get $0 + local.get $6 + f32.store $0 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $while-continue|024 + end + end + end + i32.const 0 + local.set $12 + loop $for-loop|1894 + local.get $8 + local.get $12 + i32.gt_s if - local.get $2 - local.get $0 - call $~lib/typedarray/Int16Array#__get + local.get $7 + local.get $12 + call $~lib/typedarray/Float32Array#__get i32.const 7616 - local.get $4 + local.get $8 i32.const 1 i32.sub - local.get $0 + local.get $12 i32.sub call $~lib/array/Array#__get - i32.extend16_s - i32.ne - br_if $folding-inner24 - local.get $0 + f32.convert_i32_s + f32.ne + br_if $folding-inner29 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|111 + local.set $12 + br $for-loop|1894 end end global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $3 + local.set $7 + local.get $5 i32.const 8 - call $~lib/typedarray/Int16Array#subarray - local.set $0 + call $~lib/typedarray/Float32Array#subarray + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $5 i32.store $0 offset=12 - local.get $2 - local.get $0 - call $~lib/typedarray/Int16Array#reverse + i32.const 0 + local.set $12 + local.get $5 + i32.load $0 offset=4 + local.set $4 + local.get $5 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u local.tee $0 + i32.const 1 + i32.gt_u + if + local.get $0 + i32.const 1 + i32.shr_u + local.set $3 + local.get $0 + i32.const 1 + i32.sub + local.set $2 + loop $while-continue|026 + local.get $3 + local.get $12 + i32.gt_u + if + local.get $4 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.tee $0 + f32.load $0 + local.set $6 + local.get $0 + local.get $4 + local.get $2 + local.get $12 + i32.sub + i32.const 2 + i32.shl + i32.add + local.tee $0 + f32.load $0 + f32.store $0 + local.get $0 + local.get $6 + f32.store $0 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $while-continue|026 + end + end + end + local.get $7 + local.get $5 i32.store $0 offset=16 - local.get $0 + local.get $5 i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 8 - i32.ne - br_if $folding-inner25 - local.get $0 + call $~lib/typedarray/Float32Array#__get + f32.const 8 + f32.ne + br_if $folding-inner30 + local.get $5 i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 7 - i32.ne - br_if $folding-inner26 - local.get $0 + call $~lib/typedarray/Float32Array#__get + f32.const 7 + f32.ne + br_if $folding-inner31 + local.get $5 i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 6 - i32.ne - br_if $folding-inner27 - local.get $0 + call $~lib/typedarray/Float32Array#__get + f32.const 6 + f32.ne + br_if $folding-inner32 + local.get $5 i32.const 3 - call $~lib/typedarray/Int16Array#__get - i32.const 5 - i32.ne - br_if $folding-inner28 + call $~lib/typedarray/Float32Array#__get + f32.const 5 + f32.ne + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -56887,134 +56474,235 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i32.const 0 i32.const 20 memory.fill $0 - local.get $2 + local.get $0 i32.const 7616 i32.store $0 - local.get $2 + local.get $0 i32.const 7628 i32.load $0 - local.tee $4 - call $~lib/typedarray/Uint16Array#constructor - local.tee $2 + local.tee $8 + call $~lib/typedarray/Float64Array#constructor + local.tee $7 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Uint16Array#constructor - local.tee $3 + local.get $8 + call $~lib/typedarray/Float64Array#constructor + local.tee $5 i32.store $0 offset=8 - loop $for-loop|01234 - local.get $0 - local.get $4 - i32.lt_s + i32.const 0 + local.set $12 + loop $for-loop|0900 + local.get $8 + local.get $12 + i32.gt_s if - local.get $2 - local.get $0 + local.get $7 + local.get $12 i32.const 7616 - local.get $0 + local.get $12 call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $3 - local.get $0 + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $5 + local.get $12 i32.const 7616 - local.get $0 + local.get $12 call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $0 + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|01234 + local.set $12 + br $for-loop|0900 end end - local.get $2 - call $~lib/typedarray/Int16Array#reverse - drop i32.const 0 - local.set $0 - loop $for-loop|113 + local.set $12 + local.get $7 + i32.load $0 offset=4 + local.set $4 + local.get $7 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + local.tee $0 + i32.const 1 + i32.gt_u + if local.get $0 - local.get $4 - i32.lt_s + i32.const 1 + i32.shr_u + local.set $3 + local.get $0 + i32.const 1 + i32.sub + local.set $2 + loop $while-continue|027 + local.get $3 + local.get $12 + i32.gt_u + if + local.get $4 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.tee $0 + f64.load $0 + local.set $10 + local.get $0 + local.get $4 + local.get $2 + local.get $12 + i32.sub + i32.const 3 + i32.shl + i32.add + local.tee $0 + f64.load $0 + f64.store $0 + local.get $0 + local.get $10 + f64.store $0 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $while-continue|027 + end + end + end + i32.const 0 + local.set $12 + loop $for-loop|1903 + local.get $8 + local.get $12 + i32.gt_s if - local.get $2 - local.get $0 - call $~lib/typedarray/Uint16Array#__get + local.get $7 + local.get $12 + call $~lib/typedarray/Float64Array#__get i32.const 7616 - local.get $4 + local.get $8 i32.const 1 i32.sub - local.get $0 + local.get $12 i32.sub call $~lib/array/Array#__get - i32.const 65535 - i32.and - i32.ne - br_if $folding-inner24 - local.get $0 + f64.convert_i32_s + f64.ne + br_if $folding-inner29 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|113 + local.set $12 + br $for-loop|1903 + end + end + global.get $~lib/memory/__stack_pointer + local.set $7 + local.get $5 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Float64Array#subarray + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + i32.const 0 + local.set $12 + local.get $5 + i32.load $0 offset=4 + local.set $4 + local.get $5 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + local.tee $0 + i32.const 1 + i32.gt_u + if + local.get $0 + i32.const 1 + i32.shr_u + local.set $3 + local.get $0 + i32.const 1 + i32.sub + local.set $2 + loop $while-continue|029 + local.get $3 + local.get $12 + i32.gt_u + if + local.get $4 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.tee $0 + f64.load $0 + local.set $10 + local.get $0 + local.get $4 + local.get $2 + local.get $12 + i32.sub + i32.const 3 + i32.shl + i32.add + local.tee $0 + f64.load $0 + f64.store $0 + local.get $0 + local.get $10 + f64.store $0 + local.get $12 + i32.const 1 + i32.add + local.set $12 + br $while-continue|029 + end end end - global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $3 - i32.const 8 - call $~lib/typedarray/Uint16Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 - local.get $2 - local.get $0 - call $~lib/typedarray/Int16Array#reverse - local.tee $0 + local.get $7 + local.get $5 i32.store $0 offset=16 - local.get $0 + local.get $5 i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 8 - i32.ne - br_if $folding-inner25 - local.get $0 + call $~lib/typedarray/Float64Array#__get + f64.const 8 + f64.ne + br_if $folding-inner30 + local.get $5 i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 7 - i32.ne - br_if $folding-inner26 - local.get $0 + call $~lib/typedarray/Float64Array#__get + f64.const 7 + f64.ne + br_if $folding-inner31 + local.get $5 i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 6 - i32.ne - br_if $folding-inner27 - local.get $0 + call $~lib/typedarray/Float64Array#__get + f64.const 6 + f64.ne + br_if $folding-inner32 + local.get $5 i32.const 3 - call $~lib/typedarray/Uint16Array#__get - i32.const 5 - i32.ne - br_if $folding-inner28 + call $~lib/typedarray/Float64Array#__get + f64.const 5 + f64.ne + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - call $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> @@ -57052,7 +56740,7 @@ local.get $4 i32.load $0 offset=4 local.set $2 - loop $while-continue|0 + loop $while-continue|030 local.get $1 local.get $3 i32.lt_s @@ -57071,7 +56759,7 @@ i32.const 1 i32.add local.set $1 - br $while-continue|0 + br $while-continue|030 end end i32.const -1 @@ -57106,7 +56794,7 @@ local.get $4 i32.load $0 offset=4 local.set $1 - loop $while-continue|014 + loop $while-continue|031 local.get $0 local.get $2 i32.lt_s @@ -57127,7 +56815,7 @@ i32.const 1 i32.add local.set $0 - br $while-continue|014 + br $while-continue|031 end end i32.const 0 @@ -57169,7 +56857,7 @@ local.get $4 i32.load $0 offset=4 local.set $2 - loop $while-continue|015 + loop $while-continue|032 local.get $1 local.get $3 i32.lt_s @@ -57188,7 +56876,7 @@ i32.const 1 i32.add local.set $1 - br $while-continue|015 + br $while-continue|032 end end i32.const -1 @@ -57223,7 +56911,7 @@ local.get $4 i32.load $0 offset=4 local.set $1 - loop $while-continue|0845 + loop $while-continue|0912 local.get $0 local.get $2 i32.lt_s @@ -57244,7 +56932,7 @@ i32.const 1 i32.add local.set $0 - br $while-continue|0845 + br $while-continue|0912 end end i32.const 0 @@ -57265,7 +56953,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57314,7 +57002,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner15 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -57322,7 +57010,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57347,7 +57035,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner16 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add @@ -57359,7 +57047,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57408,7 +57096,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner15 + br_if $folding-inner20 local.get $1 call $~lib/typedarray/Uint8Array#toString local.set $1 @@ -57423,7 +57111,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner16 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add @@ -57435,7 +57123,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57484,7 +57172,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner15 + br_if $folding-inner20 local.get $1 call $~lib/typedarray/Uint8Array#toString local.set $1 @@ -57499,7 +57187,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner16 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add @@ -57511,7 +57199,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57560,7 +57248,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner15 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -57568,7 +57256,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57593,7 +57281,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner16 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add @@ -57605,7 +57293,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57654,7 +57342,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner15 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -57662,7 +57350,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57687,7 +57375,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner16 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add @@ -57699,7 +57387,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57748,7 +57436,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner15 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -57756,7 +57444,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57781,7 +57469,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner16 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add @@ -57793,7 +57481,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57842,7 +57530,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner15 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -57850,7 +57538,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57875,7 +57563,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner16 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add @@ -57887,7 +57575,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57936,7 +57624,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner15 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -57944,7 +57632,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57969,7 +57657,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner16 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add @@ -57981,7 +57669,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -58030,7 +57718,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner15 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -58038,7 +57726,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58063,7 +57751,7 @@ i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner16 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add @@ -58075,7 +57763,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -58124,7 +57812,7 @@ i32.const 10800 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner17 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -58132,7 +57820,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58157,7 +57845,7 @@ i32.const 10800 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner18 + br_if $folding-inner23 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add @@ -58169,7 +57857,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -58218,7 +57906,7 @@ i32.const 10800 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner17 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -58226,7 +57914,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58251,7 +57939,7 @@ i32.const 10800 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner18 + br_if $folding-inner23 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add @@ -58303,7 +57991,7 @@ unreachable end i32.const 0 - local.set $9 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58311,7 +57999,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58327,23 +58015,23 @@ call $~lib/typedarray/Int8Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|036 + loop $for-loop|035 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 i32.const 10928 - local.get $9 + local.get $12 call $~lib/array/Array#__get i32.extend8_s call $~lib/typedarray/Int8Array#__set - local.get $9 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|036 + local.set $12 + br $for-loop|035 end end global.get $~lib/memory/__stack_pointer @@ -58378,7 +58066,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58417,25 +58105,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $9 - loop $for-loop|138 + local.set $12 + loop $for-loop|137 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 call $~lib/typedarray/Int8Array#__get local.get $0 - local.get $9 + local.get $12 call $~lib/typedarray/Int8Array#__get i32.ne - br_if $folding-inner29 - local.get $9 + br_if $folding-inner34 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|138 + local.set $12 + br $for-loop|137 end end global.get $~lib/memory/__stack_pointer @@ -58449,7 +58137,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58467,7 +58155,7 @@ i32.store $0 offset=4 i32.const 0 local.set $0 - loop $for-loop|0865 + loop $for-loop|0934 local.get $0 local.get $3 i32.lt_s @@ -58484,7 +58172,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0865 + br $for-loop|0934 end end global.get $~lib/memory/__stack_pointer @@ -58518,7 +58206,7 @@ i32.store $0 offset=16 i32.const 0 local.set $0 - loop $for-loop|116 + loop $for-loop|1941 local.get $0 local.get $3 i32.lt_s @@ -58530,12 +58218,12 @@ local.get $0 call $~lib/typedarray/Uint8Array#__get i32.ne - br_if $folding-inner29 + br_if $folding-inner34 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|116 + br $for-loop|1941 end end global.get $~lib/memory/__stack_pointer @@ -58543,7 +58231,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $9 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58551,7 +58239,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58567,24 +58255,24 @@ call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|041 + loop $for-loop|039 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 i32.const 10928 - local.get $9 + local.get $12 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $9 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|041 + local.set $12 + br $for-loop|039 end end global.get $~lib/memory/__stack_pointer @@ -58619,7 +58307,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58658,25 +58346,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $9 - loop $for-loop|143 + local.set $12 + loop $for-loop|141 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 call $~lib/typedarray/Uint8ClampedArray#__get local.get $0 - local.get $9 + local.get $12 call $~lib/typedarray/Uint8ClampedArray#__get i32.ne - br_if $folding-inner29 - local.get $9 + br_if $folding-inner34 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|143 + local.set $12 + br $for-loop|141 end end global.get $~lib/memory/__stack_pointer @@ -58684,7 +58372,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $9 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58692,7 +58380,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58708,23 +58396,23 @@ call $~lib/typedarray/Int16Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|045 + loop $for-loop|043 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 i32.const 10928 - local.get $9 + local.get $12 call $~lib/array/Array#__get i32.extend16_s call $~lib/typedarray/Int16Array#__set - local.get $9 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|045 + local.set $12 + br $for-loop|043 end end global.get $~lib/memory/__stack_pointer @@ -58759,7 +58447,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -58770,7 +58458,7 @@ local.tee $1 i32.const 1 i32.and - br_if $folding-inner30 + br_if $folding-inner35 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 7 @@ -58800,25 +58488,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $9 - loop $for-loop|147 + local.set $12 + loop $for-loop|145 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 call $~lib/typedarray/Int16Array#__get local.get $0 - local.get $9 + local.get $12 call $~lib/typedarray/Int16Array#__get i32.ne - br_if $folding-inner29 - local.get $9 + br_if $folding-inner34 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|147 + local.set $12 + br $for-loop|145 end end global.get $~lib/memory/__stack_pointer @@ -58826,7 +58514,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $9 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58834,7 +58522,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58850,24 +58538,24 @@ call $~lib/typedarray/Uint16Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|049 + loop $for-loop|047 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 i32.const 10928 - local.get $9 + local.get $12 call $~lib/array/Array#__get i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set - local.get $9 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|049 + local.set $12 + br $for-loop|047 end end global.get $~lib/memory/__stack_pointer @@ -58902,7 +58590,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -58913,7 +58601,7 @@ local.tee $1 i32.const 1 i32.and - br_if $folding-inner30 + br_if $folding-inner35 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 8 @@ -58943,25 +58631,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $9 - loop $for-loop|151 + local.set $12 + loop $for-loop|149 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 call $~lib/typedarray/Uint16Array#__get local.get $0 - local.get $9 + local.get $12 call $~lib/typedarray/Uint16Array#__get i32.ne - br_if $folding-inner29 - local.get $9 + br_if $folding-inner34 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|151 + local.set $12 + br $for-loop|149 end end global.get $~lib/memory/__stack_pointer @@ -58969,7 +58657,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $9 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58977,7 +58665,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58993,22 +58681,22 @@ call $~lib/typedarray/Int32Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|053 + loop $for-loop|051 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 i32.const 10928 - local.get $9 + local.get $12 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set - local.get $9 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|053 + local.set $12 + br $for-loop|051 end end global.get $~lib/memory/__stack_pointer @@ -59043,7 +58731,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -59054,7 +58742,7 @@ local.tee $1 i32.const 3 i32.and - br_if $folding-inner30 + br_if $folding-inner35 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 9 @@ -59084,25 +58772,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $9 - loop $for-loop|155 + local.set $12 + loop $for-loop|153 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 call $~lib/typedarray/Int32Array#__get local.get $0 - local.get $9 + local.get $12 call $~lib/typedarray/Int32Array#__get i32.ne - br_if $folding-inner29 - local.get $9 + br_if $folding-inner34 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|155 + local.set $12 + br $for-loop|153 end end global.get $~lib/memory/__stack_pointer @@ -59110,7 +58798,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $9 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -59118,7 +58806,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59134,22 +58822,22 @@ call $~lib/typedarray/Uint32Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|057 + loop $for-loop|055 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 i32.const 10928 - local.get $9 + local.get $12 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set - local.get $9 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|057 + local.set $12 + br $for-loop|055 end end global.get $~lib/memory/__stack_pointer @@ -59184,7 +58872,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -59195,7 +58883,7 @@ local.tee $1 i32.const 3 i32.and - br_if $folding-inner30 + br_if $folding-inner35 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 10 @@ -59225,25 +58913,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $9 - loop $for-loop|159 + local.set $12 + loop $for-loop|157 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 call $~lib/typedarray/Uint32Array#__get local.get $0 - local.get $9 + local.get $12 call $~lib/typedarray/Uint32Array#__get i32.ne - br_if $folding-inner29 - local.get $9 + br_if $folding-inner34 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|159 + local.set $12 + br $for-loop|157 end end global.get $~lib/memory/__stack_pointer @@ -59251,7 +58939,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $9 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -59259,7 +58947,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59275,23 +58963,23 @@ call $~lib/typedarray/Int64Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|061 + loop $for-loop|059 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 i32.const 10928 - local.get $9 + local.get $12 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Int64Array#__set - local.get $9 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|061 + local.set $12 + br $for-loop|059 end end global.get $~lib/memory/__stack_pointer @@ -59326,7 +59014,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -59337,7 +59025,7 @@ local.tee $1 i32.const 7 i32.and - br_if $folding-inner30 + br_if $folding-inner35 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 11 @@ -59367,25 +59055,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $9 - loop $for-loop|163 + local.set $12 + loop $for-loop|161 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 call $~lib/typedarray/Int64Array#__get local.get $0 - local.get $9 + local.get $12 call $~lib/typedarray/Int64Array#__get i64.ne - br_if $folding-inner29 - local.get $9 + br_if $folding-inner34 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|163 + local.set $12 + br $for-loop|161 end end global.get $~lib/memory/__stack_pointer @@ -59393,7 +59081,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $9 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -59401,7 +59089,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59417,23 +59105,23 @@ call $~lib/typedarray/Uint64Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|065 + loop $for-loop|063 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 i32.const 10928 - local.get $9 + local.get $12 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $9 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|065 + local.set $12 + br $for-loop|063 end end global.get $~lib/memory/__stack_pointer @@ -59468,7 +59156,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -59479,7 +59167,7 @@ local.tee $1 i32.const 7 i32.and - br_if $folding-inner30 + br_if $folding-inner35 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 12 @@ -59509,25 +59197,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $9 - loop $for-loop|167 + local.set $12 + loop $for-loop|165 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 call $~lib/typedarray/Uint64Array#__get local.get $0 - local.get $9 + local.get $12 call $~lib/typedarray/Uint64Array#__get i64.ne - br_if $folding-inner29 - local.get $9 + br_if $folding-inner34 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|167 + local.set $12 + br $for-loop|165 end end global.get $~lib/memory/__stack_pointer @@ -59535,7 +59223,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $9 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -59543,7 +59231,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59559,23 +59247,23 @@ call $~lib/typedarray/Float32Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|069 + loop $for-loop|067 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 i32.const 10928 - local.get $9 + local.get $12 call $~lib/array/Array#__get f32.convert_i32_s call $~lib/typedarray/Float32Array#__set - local.get $9 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|069 + local.set $12 + br $for-loop|067 end end global.get $~lib/memory/__stack_pointer @@ -59610,7 +59298,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -59621,7 +59309,7 @@ local.tee $1 i32.const 3 i32.and - br_if $folding-inner30 + br_if $folding-inner35 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 13 @@ -59651,25 +59339,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $9 - loop $for-loop|171 + local.set $12 + loop $for-loop|169 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 call $~lib/typedarray/Float32Array#__get local.get $0 - local.get $9 + local.get $12 call $~lib/typedarray/Float32Array#__get f32.ne - br_if $folding-inner29 - local.get $9 + br_if $folding-inner34 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|171 + local.set $12 + br $for-loop|169 end end global.get $~lib/memory/__stack_pointer @@ -59677,7 +59365,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $9 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -59685,7 +59373,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59701,23 +59389,23 @@ call $~lib/typedarray/Float64Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|073 + loop $for-loop|071 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 i32.const 10928 - local.get $9 + local.get $12 call $~lib/array/Array#__get f64.convert_i32_s call $~lib/typedarray/Float64Array#__set - local.get $9 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|073 + local.set $12 + br $for-loop|071 end end global.get $~lib/memory/__stack_pointer @@ -59752,7 +59440,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -59763,7 +59451,7 @@ local.tee $1 i32.const 7 i32.and - br_if $folding-inner30 + br_if $folding-inner35 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 14 @@ -59793,25 +59481,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $9 - loop $for-loop|175 + local.set $12 + loop $for-loop|173 local.get $5 - local.get $9 + local.get $12 i32.gt_s if local.get $4 - local.get $9 + local.get $12 call $~lib/typedarray/Float64Array#__get local.get $0 - local.get $9 + local.get $12 call $~lib/typedarray/Float64Array#__get f64.ne - br_if $folding-inner29 - local.get $9 + br_if $folding-inner34 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|175 + local.set $12 + br $for-loop|173 end end global.get $~lib/memory/__stack_pointer @@ -59834,7 +59522,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59913,14 +59601,14 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $5 i32.load $0 offset=4 local.set $3 i32.const 11012 i32.load $0 local.set $2 - loop $for-loop|0878 + loop $for-loop|0950 local.get $0 local.get $4 i32.lt_s @@ -59941,7 +59629,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0878 + br $for-loop|0950 end end i32.const 10 @@ -59987,7 +59675,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $5 i32.load $0 offset=4 i32.const 24 @@ -59997,30 +59685,30 @@ i32.load $0 offset=4 local.set $0 i32.const 0 - local.set $9 - loop $for-loop|0887 + local.set $12 + loop $for-loop|0959 local.get $2 - local.get $9 + local.get $12 i32.gt_s if local.get $1 - local.get $9 + local.get $12 i32.const 2 i32.shl i32.add local.get $0 - local.get $9 + local.get $12 i32.const 3 i32.shl i32.add i64.load $0 f32.convert_i64_s f32.store $0 - local.get $9 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|0887 + local.set $12 + br $for-loop|0959 end end i32.const 10 @@ -60043,7 +59731,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $5 i32.load $0 offset=4 local.set $2 @@ -60052,7 +59740,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|0896 + loop $for-loop|0968 local.get $0 local.get $3 i32.lt_s @@ -60072,7 +59760,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0896 + br $for-loop|0968 end end local.get $7 @@ -60087,7 +59775,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $5 i32.load $0 offset=4 i32.const 16 @@ -60098,7 +59786,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|0905 + loop $for-loop|0977 local.get $0 local.get $3 i32.lt_s @@ -60120,7 +59808,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0905 + br $for-loop|0977 end end global.get $~lib/memory/__stack_pointer @@ -60136,7 +59824,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $5 i32.load $0 offset=4 i32.const 28 @@ -60147,7 +59835,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|0914 + loop $for-loop|0986 local.get $0 local.get $3 i32.lt_s @@ -60167,7 +59855,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0914 + br $for-loop|0986 end end i32.const 10 @@ -60193,7 +59881,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -60272,14 +59960,14 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $4 i32.load $0 offset=4 local.set $2 i32.const 11012 i32.load $0 local.set $1 - loop $for-loop|0923 + loop $for-loop|0995 local.get $0 local.get $3 i32.lt_s @@ -60301,7 +59989,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0923 + br $for-loop|0995 end end i32.const 10 @@ -60329,7 +60017,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $4 i32.load $0 offset=4 i32.const 24 @@ -60340,7 +60028,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|0932 + loop $for-loop|01004 local.get $0 local.get $3 i32.lt_s @@ -60362,7 +60050,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0932 + br $for-loop|01004 end end i32.const 10 @@ -60389,7 +60077,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $4 i32.load $0 offset=4 i32.const 48 @@ -60399,14 +60087,14 @@ i32.load $0 offset=4 local.set $1 i32.const 0 - local.set $9 - loop $for-loop|0940 + local.set $12 + loop $for-loop|01012 local.get $3 - local.get $9 + local.get $12 i32.gt_s if local.get $2 - local.get $9 + local.get $12 i32.const 3 i32.shl local.tee $0 @@ -60417,11 +60105,11 @@ i64.load $0 f64.convert_i64_s f64.store $0 - local.get $9 + local.get $12 i32.const 1 i32.add - local.set $9 - br $for-loop|0940 + local.set $12 + br $for-loop|01012 end end i32.const 10 @@ -60444,7 +60132,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $4 i32.load $0 offset=4 local.set $2 @@ -60453,7 +60141,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|0949 + loop $for-loop|01021 local.get $0 local.get $3 i32.lt_s @@ -60473,7 +60161,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0949 + br $for-loop|01021 end end local.get $5 @@ -60488,7 +60176,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $4 i32.load $0 offset=4 i32.const 32 @@ -60499,7 +60187,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|0958 + loop $for-loop|01030 local.get $0 local.get $3 i32.lt_s @@ -60521,7 +60209,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0958 + br $for-loop|01030 end end global.get $~lib/memory/__stack_pointer @@ -60537,7 +60225,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $4 i32.load $0 offset=4 i32.const 56 @@ -60548,7 +60236,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|0967 + loop $for-loop|01039 local.get $0 local.get $3 i32.lt_s @@ -60568,7 +60256,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0967 + br $for-loop|01039 end end i32.const 10 @@ -60653,7 +60341,7 @@ i32.const 1 i32.add i32.lt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $7 i32.load $0 offset=4 i32.const 1 @@ -60664,7 +60352,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|0976 + loop $for-loop|01048 local.get $0 local.get $3 i32.lt_s @@ -60696,7 +60384,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0976 + br $for-loop|01048 end end local.get $7 @@ -60713,7 +60401,7 @@ i32.const 8 i32.add i32.lt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $7 i32.load $0 offset=4 i32.const 8 @@ -60724,7 +60412,7 @@ local.set $2 i32.const 0 local.set $0 - loop $for-loop|0985 + loop $for-loop|01057 local.get $0 local.get $4 i32.lt_s @@ -60756,7 +60444,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0985 + br $for-loop|01057 end end i32.const 10 @@ -60821,7 +60509,7 @@ local.get $7 i32.load $0 offset=8 i32.gt_s - br_if $folding-inner19 + br_if $folding-inner24 local.get $7 i32.load $0 offset=4 local.set $3 @@ -60830,7 +60518,7 @@ local.set $2 i32.const 0 local.set $0 - loop $for-loop|0994 + loop $for-loop|01066 local.get $0 local.get $4 i32.lt_s @@ -60855,7 +60543,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0994 + br $for-loop|01066 end end local.get $7 @@ -60883,7 +60571,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -60919,7 +60607,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -60955,19 +60643,19 @@ call $~lib/typedarray/Int8Array#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner36 local.get $2 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner37 local.get $2 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner38 global.get $~lib/memory/__stack_pointer i32.const 15376 i32.store $0 offset=8 @@ -60982,19 +60670,19 @@ call $~lib/typedarray/Int8Array#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner39 local.get $2 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner40 local.get $2 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61008,7 +60696,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61044,15 +60732,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of178 - block $0of179 - block $outOfRange80 + block $1of176 + block $0of177 + block $outOfRange78 global.get $~argumentsLength - br_table $0of179 $1of178 $outOfRange80 + br_table $0of177 $1of176 $outOfRange78 end unreachable end @@ -61080,19 +60768,19 @@ call $~lib/typedarray/Uint8Array#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner36 local.get $2 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner37 local.get $2 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner38 global.get $~lib/memory/__stack_pointer i32.const 15440 i32.store $0 offset=8 @@ -61107,19 +60795,19 @@ call $~lib/typedarray/Uint8Array#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner39 local.get $2 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner40 local.get $2 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61133,7 +60821,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61169,15 +60857,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of182 - block $0of183 - block $outOfRange84 + block $1of180 + block $0of181 + block $outOfRange82 global.get $~argumentsLength - br_table $0of183 $1of182 $outOfRange84 + br_table $0of181 $1of180 $outOfRange82 end unreachable end @@ -61205,19 +60893,19 @@ call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner36 local.get $2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner37 local.get $2 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner38 global.get $~lib/memory/__stack_pointer i32.const 15504 i32.store $0 offset=8 @@ -61232,19 +60920,19 @@ call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner39 local.get $2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner40 local.get $2 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61258,7 +60946,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61294,15 +60982,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of188 - block $0of189 - block $outOfRange90 + block $1of186 + block $0of187 + block $outOfRange88 global.get $~argumentsLength - br_table $0of189 $1of188 $outOfRange90 + br_table $0of187 $1of186 $outOfRange88 end unreachable end @@ -61332,19 +61020,19 @@ call $~lib/typedarray/Int16Array#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner36 local.get $2 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner37 local.get $2 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner38 global.get $~lib/memory/__stack_pointer i32.const 15568 i32.store $0 offset=8 @@ -61361,19 +61049,19 @@ call $~lib/typedarray/Int16Array#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner39 local.get $2 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner40 local.get $2 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61387,7 +61075,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61423,15 +61111,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of192 - block $0of193 - block $outOfRange94 + block $1of190 + block $0of191 + block $outOfRange92 global.get $~argumentsLength - br_table $0of193 $1of192 $outOfRange94 + br_table $0of191 $1of190 $outOfRange92 end unreachable end @@ -61461,19 +61149,19 @@ call $~lib/typedarray/Uint16Array#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner36 local.get $2 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner37 local.get $2 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner38 global.get $~lib/memory/__stack_pointer i32.const 15632 i32.store $0 offset=8 @@ -61490,19 +61178,19 @@ call $~lib/typedarray/Uint16Array#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner39 local.get $2 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner40 local.get $2 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61516,7 +61204,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61552,15 +61240,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of196 - block $0of197 - block $outOfRange98 + block $1of194 + block $0of195 + block $outOfRange96 global.get $~argumentsLength - br_table $0of197 $1of196 $outOfRange98 + br_table $0of195 $1of194 $outOfRange96 end unreachable end @@ -61590,19 +61278,19 @@ call $~lib/typedarray/Int32Array#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner36 local.get $2 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner37 local.get $2 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner38 global.get $~lib/memory/__stack_pointer i32.const 15696 i32.store $0 offset=8 @@ -61619,19 +61307,19 @@ call $~lib/typedarray/Int32Array#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner39 local.get $2 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner40 local.get $2 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61645,7 +61333,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61681,15 +61369,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1100 - block $0of1101 - block $outOfRange102 + block $1of198 + block $0of199 + block $outOfRange100 global.get $~argumentsLength - br_table $0of1101 $1of1100 $outOfRange102 + br_table $0of199 $1of198 $outOfRange100 end unreachable end @@ -61719,19 +61407,19 @@ call $~lib/typedarray/Uint32Array#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner36 local.get $2 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner37 local.get $2 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner38 global.get $~lib/memory/__stack_pointer i32.const 15760 i32.store $0 offset=8 @@ -61748,19 +61436,19 @@ call $~lib/typedarray/Uint32Array#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner39 local.get $2 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner40 local.get $2 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61774,7 +61462,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61810,15 +61498,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1104 - block $0of1105 - block $outOfRange106 + block $1of1102 + block $0of1103 + block $outOfRange104 global.get $~argumentsLength - br_table $0of1105 $1of1104 $outOfRange106 + br_table $0of1103 $1of1102 $outOfRange104 end unreachable end @@ -61848,19 +61536,19 @@ call $~lib/typedarray/Int64Array#__get i64.const 1 i64.ne - br_if $folding-inner31 + br_if $folding-inner36 local.get $2 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 2 i64.ne - br_if $folding-inner32 + br_if $folding-inner37 local.get $2 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 3 i64.ne - br_if $folding-inner33 + br_if $folding-inner38 global.get $~lib/memory/__stack_pointer i32.const 15824 i32.store $0 offset=8 @@ -61877,19 +61565,19 @@ call $~lib/typedarray/Int64Array#__get i64.const 3 i64.ne - br_if $folding-inner34 + br_if $folding-inner39 local.get $2 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 2 i64.ne - br_if $folding-inner35 + br_if $folding-inner40 local.get $2 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 1 i64.ne - br_if $folding-inner36 + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61903,7 +61591,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61939,15 +61627,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1108 - block $0of1109 - block $outOfRange110 + block $1of1106 + block $0of1107 + block $outOfRange108 global.get $~argumentsLength - br_table $0of1109 $1of1108 $outOfRange110 + br_table $0of1107 $1of1106 $outOfRange108 end unreachable end @@ -61977,19 +61665,19 @@ call $~lib/typedarray/Uint64Array#__get i64.const 1 i64.ne - br_if $folding-inner31 + br_if $folding-inner36 local.get $2 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 2 i64.ne - br_if $folding-inner32 + br_if $folding-inner37 local.get $2 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 3 i64.ne - br_if $folding-inner33 + br_if $folding-inner38 global.get $~lib/memory/__stack_pointer i32.const 15888 i32.store $0 offset=8 @@ -62006,19 +61694,19 @@ call $~lib/typedarray/Uint64Array#__get i64.const 3 i64.ne - br_if $folding-inner34 + br_if $folding-inner39 local.get $2 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 2 i64.ne - br_if $folding-inner35 + br_if $folding-inner40 local.get $2 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 1 i64.ne - br_if $folding-inner36 + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -62032,7 +61720,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -62068,15 +61756,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1112 - block $0of1113 - block $outOfRange114 + block $1of1110 + block $0of1111 + block $outOfRange112 global.get $~argumentsLength - br_table $0of1113 $1of1112 $outOfRange114 + br_table $0of1111 $1of1110 $outOfRange112 end unreachable end @@ -62106,19 +61794,19 @@ call $~lib/typedarray/Float32Array#__get f32.const 1 f32.ne - br_if $folding-inner31 + br_if $folding-inner36 local.get $2 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 2 f32.ne - br_if $folding-inner32 + br_if $folding-inner37 local.get $2 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 3 f32.ne - br_if $folding-inner33 + br_if $folding-inner38 global.get $~lib/memory/__stack_pointer i32.const 15952 i32.store $0 offset=8 @@ -62135,19 +61823,19 @@ call $~lib/typedarray/Float32Array#__get f32.const 3 f32.ne - br_if $folding-inner34 + br_if $folding-inner39 local.get $2 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 2 f32.ne - br_if $folding-inner35 + br_if $folding-inner40 local.get $2 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 1 f32.ne - br_if $folding-inner36 + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -62159,7 +61847,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner23 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -62196,19 +61884,19 @@ call $~lib/typedarray/Float64Array#__get f64.const 1 f64.ne - br_if $folding-inner31 + br_if $folding-inner36 local.get $0 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 2 f64.ne - br_if $folding-inner32 + br_if $folding-inner37 local.get $0 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 3 f64.ne - br_if $folding-inner33 + br_if $folding-inner38 global.get $~lib/memory/__stack_pointer i32.const 15984 i32.store $0 offset=8 @@ -62225,19 +61913,19 @@ call $~lib/typedarray/Float64Array#__get f64.const 3 f64.ne - br_if $folding-inner34 + br_if $folding-inner39 local.get $0 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 2 f64.ne - br_if $folding-inner35 + br_if $folding-inner40 local.get $0 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 1 f64.ne - br_if $folding-inner36 + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -62248,12 +61936,12 @@ i32.const 0 i32.gt_s if - loop $while-continue|0997 + loop $while-continue|01069 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|0997 + br $while-continue|01069 end end end diff --git a/tests/compiler/std/uri.debug.wat b/tests/compiler/std/uri.debug.wat index 8c5c5ac9cf..37a88bed2b 100644 --- a/tests/compiler/std/uri.debug.wat +++ b/tests/compiler/std/uri.debug.wat @@ -1226,15 +1226,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1295,17 +1293,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1317,22 +1313,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/super-inline.debug.wat b/tests/compiler/super-inline.debug.wat index 2866989738..477ee48385 100644 --- a/tests/compiler/super-inline.debug.wat +++ b/tests/compiler/super-inline.debug.wat @@ -1153,15 +1153,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1222,17 +1220,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1244,22 +1240,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/templateliteral.debug.wat b/tests/compiler/templateliteral.debug.wat index 756c455512..7138f5aa55 100644 --- a/tests/compiler/templateliteral.debug.wat +++ b/tests/compiler/templateliteral.debug.wat @@ -1373,15 +1373,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1442,17 +1440,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1464,22 +1460,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl @@ -3428,26 +3422,24 @@ (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $length i32) (param $k i32) (result i32) (local $kk i32) (local $i i32) - (local $5 i32) (local $ptr i32) (local $offset i32) - (local $i|8 i32) - (local $9 i32) - (local $buffer|10 i32) - (local $k|11 i32) + (local $i|7 i32) + (local $buffer|8 i32) + (local $k|9 i32) (local $sign i32) (local $decimals i32) - (local $buffer|14 i32) + (local $buffer|12 i32) (local $num i32) - (local $offset|16 i32) + (local $offset|14 i32) (local $len i32) - (local $buffer|18 i32) - (local $k|19 i32) - (local $sign|20 i32) - (local $decimals|21 i32) - (local $buffer|22 i32) - (local $num|23 i32) - (local $offset|24 i32) + (local $buffer|16 i32) + (local $k|17 i32) + (local $sign|18 i32) + (local $decimals|19 i32) + (local $buffer|20 i32) + (local $num|21 i32) + (local $offset|22 i32) local.get $k i32.eqz if @@ -3488,8 +3480,6 @@ local.get $i local.get $kk i32.lt_s - local.set $5 - local.get $5 if local.get $buffer local.get $i @@ -3593,25 +3583,23 @@ i32.or i32.store $0 i32.const 2 - local.set $i|8 + local.set $i|7 loop $for-loop|1 - local.get $i|8 + local.get $i|7 local.get $offset i32.lt_s - local.set $9 - local.get $9 if local.get $buffer - local.get $i|8 + local.get $i|7 i32.const 1 i32.shl i32.add i32.const 48 i32.store16 $0 - local.get $i|8 + local.get $i|7 i32.const 1 i32.add - local.set $i|8 + local.set $i|7 br $for-loop|1 end end @@ -3630,42 +3618,42 @@ local.get $buffer i32.const 4 i32.add - local.set $buffer|10 + local.set $buffer|8 local.get $kk i32.const 1 i32.sub - local.set $k|11 - local.get $k|11 + local.set $k|9 + local.get $k|9 i32.const 0 i32.lt_s local.set $sign local.get $sign if i32.const 0 - local.get $k|11 + local.get $k|9 i32.sub - local.set $k|11 + local.set $k|9 end - local.get $k|11 + local.get $k|9 call $~lib/util/number/decimalCount32 i32.const 1 i32.add local.set $decimals - local.get $buffer|10 - local.set $buffer|14 - local.get $k|11 + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 local.set $num local.get $decimals - local.set $offset|16 + local.set $offset|14 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|14 + local.get $buffer|12 local.get $num - local.get $offset|16 + local.get $offset|14 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|10 + local.get $buffer|8 i32.const 45 i32.const 43 local.get $sign @@ -3706,48 +3694,48 @@ i32.add i32.const 4 i32.add - local.set $buffer|18 + local.set $buffer|16 local.get $kk i32.const 1 i32.sub - local.set $k|19 - local.get $k|19 + local.set $k|17 + local.get $k|17 i32.const 0 i32.lt_s - local.set $sign|20 - local.get $sign|20 + local.set $sign|18 + local.get $sign|18 if i32.const 0 - local.get $k|19 + local.get $k|17 i32.sub - local.set $k|19 + local.set $k|17 end - local.get $k|19 + local.get $k|17 call $~lib/util/number/decimalCount32 i32.const 1 i32.add - local.set $decimals|21 - local.get $buffer|18 - local.set $buffer|22 - local.get $k|19 - local.set $num|23 - local.get $decimals|21 - local.set $offset|24 + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|22 - local.get $num|23 - local.get $offset|24 + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 call $~lib/util/number/utoa32_dec_lut - local.get $buffer|18 + local.get $buffer|16 i32.const 45 i32.const 43 - local.get $sign|20 + local.get $sign|18 select i32.store16 $0 - local.get $decimals|21 + local.get $decimals|19 i32.add local.set $length local.get $length @@ -5517,14 +5505,12 @@ (local $estLen i32) (local $value i32) (local $i i32) - (local $8 i32) (local $offset i32) (local $sepLen i32) (local $result i32) - (local $i|12 i32) - (local $13 i32) + (local $i|11 i32) (local $valueLen i32) - (local $15 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -5545,12 +5531,12 @@ i32.lt_s if i32.const 160 - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $13 return end local.get $lastIndex @@ -5567,12 +5553,12 @@ else i32.const 160 end - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $13 return end i32.const 0 @@ -5583,8 +5569,6 @@ local.get $i local.get $length i32.lt_s - local.set $8 - local.get $8 if global.get $~lib/memory/__stack_pointer local.get $dataStart @@ -5630,17 +5614,15 @@ local.tee $result i32.store $0 offset=8 i32.const 0 - local.set $i|12 + local.set $i|11 loop $for-loop|1 - local.get $i|12 + local.get $i|11 local.get $lastIndex i32.lt_s - local.set $13 - local.get $13 if global.get $~lib/memory/__stack_pointer local.get $dataStart - local.get $i|12 + local.get $i|11 i32.const 2 i32.shl i32.add @@ -5686,10 +5668,10 @@ i32.add local.set $offset end - local.get $i|12 + local.get $i|11 i32.const 1 i32.add - local.set $i|12 + local.set $i|11 br $for-loop|1 end end @@ -5719,12 +5701,12 @@ memory.copy $0 $0 end local.get $result - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $13 ) (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $sign i32) diff --git a/tests/compiler/throw.debug.wat b/tests/compiler/throw.debug.wat index 474a27ee2f..a1b807af35 100644 --- a/tests/compiler/throw.debug.wat +++ b/tests/compiler/throw.debug.wat @@ -1265,15 +1265,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1334,17 +1332,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1356,22 +1352,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/typeof.debug.wat b/tests/compiler/typeof.debug.wat index cccec2e822..fcc7032c9c 100644 --- a/tests/compiler/typeof.debug.wat +++ b/tests/compiler/typeof.debug.wat @@ -1332,15 +1332,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1401,17 +1399,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1423,22 +1419,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl diff --git a/tests/compiler/unify-local-flags.debug.wat b/tests/compiler/unify-local-flags.debug.wat index c09eba286c..ac8ef9b17c 100644 --- a/tests/compiler/unify-local-flags.debug.wat +++ b/tests/compiler/unify-local-flags.debug.wat @@ -13,7 +13,6 @@ (func $unify-local-flags/testFor (type $none_=>_none) (local $x i32) (local $i i32) - (local $2 i32) i32.const 0 local.set $x i32.const 0 @@ -22,8 +21,6 @@ local.get $i i32.const 255 i32.lt_u - local.set $2 - local.get $2 if local.get $i local.set $x diff --git a/tests/compiler/while.debug.wat b/tests/compiler/while.debug.wat index 8dd3ca7e07..2b988a23d6 100644 --- a/tests/compiler/while.debug.wat +++ b/tests/compiler/while.debug.wat @@ -1575,15 +1575,13 @@ (local $root|4 i32) (local $tail i32) (local $fl i32) - (local $7 i32) - (local $root|8 i32) - (local $fl|9 i32) + (local $root|7 i32) + (local $fl|8 i32) (local $slMap i32) (local $sl i32) - (local $12 i32) - (local $root|13 i32) - (local $fl|14 i32) - (local $sl|15 i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) (local $head i32) (local $memStart i32) i32.const 0 @@ -1644,17 +1642,15 @@ local.get $fl i32.const 23 i32.lt_u - local.set $7 - local.get $7 if local.get $root - local.set $root|8 + local.set $root|7 local.get $fl - local.set $fl|9 + local.set $fl|8 i32.const 0 local.set $slMap - local.get $root|8 - local.get $fl|9 + local.get $root|7 + local.get $fl|8 i32.const 2 i32.shl i32.add @@ -1666,22 +1662,20 @@ local.get $sl i32.const 16 i32.lt_u - local.set $12 - local.get $12 if local.get $root - local.set $root|13 + local.set $root|11 local.get $fl - local.set $fl|14 + local.set $fl|12 local.get $sl - local.set $sl|15 + local.set $sl|13 i32.const 0 local.set $head - local.get $root|13 - local.get $fl|14 + local.get $root|11 + local.get $fl|12 i32.const 4 i32.shl - local.get $sl|15 + local.get $sl|13 i32.add i32.const 2 i32.shl From 385c5431837afcf10d014e9f6f471ba99f320107 Mon Sep 17 00:00:00 2001 From: dcode Date: Tue, 29 Nov 2022 16:28:51 +0100 Subject: [PATCH 04/14] definitive assignment on globals --- src/compiler.ts | 55 +- src/diagnosticMessages.json | 2 +- tests/compiler/NonNullable.debug.wat | 12 +- tests/compiler/NonNullable.release.wat | 12 +- tests/compiler/assert-nonnull.debug.wat | 64 +- tests/compiler/assert-nonnull.release.wat | 152 +- .../features/reference-types.debug.wat | 8 +- .../features/reference-types.release.wat | 4 +- tests/compiler/issues/1095.debug.wat | 20 +- tests/compiler/issues/1095.release.wat | 54 +- tests/compiler/managed-cast.debug.wat | 32 +- tests/compiler/managed-cast.release.wat | 82 +- tests/compiler/std/array.debug.wat | 1159 +- tests/compiler/std/array.release.wat | 2866 ++--- tests/compiler/std/date.debug.wat | 66 +- tests/compiler/std/date.release.wat | 666 +- tests/compiler/std/map.release.wat | 40 +- tests/compiler/std/set.release.wat | 40 +- tests/compiler/std/staticarray.debug.wat | 105 +- tests/compiler/std/staticarray.release.wat | 610 +- tests/compiler/std/string.debug.wat | 272 +- tests/compiler/std/string.release.wat | 294 +- tests/compiler/std/symbol.debug.wat | 90 +- tests/compiler/std/symbol.release.wat | 236 +- tests/compiler/std/typedarray.debug.wat | 239 +- tests/compiler/std/typedarray.release.wat | 9501 +++++++++-------- tests/compiler/templateliteral.release.wat | 454 +- 27 files changed, 9089 insertions(+), 8046 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 6f6ac60a20..8fccc0cacd 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -1170,9 +1170,10 @@ export class Compiler extends DiagnosticEmitter { let type = global.type; - // Enforce an initializer on globals. TypeScript is unsound in this regard - // in that it, just as us, doesn't do full program analysis, but simply - // assumes that outer variables are initialized: + // Enforce either an initializer or a definitive assignment on globals, just + // like for class fields. TypeScript is unsound in this regard in that it, + // just as us, doesn't do full program analysis, but simply assumes that + // outer variables are initialized: // // let foo: string; // function bar() { @@ -1182,9 +1183,12 @@ export class Compiler extends DiagnosticEmitter { // // We can't let that happen in AOT obviously, except if there is a trivial // default value (say `0` or `null`), so limit to non-nullable references: - if (type.isReference && !type.is(TypeFlags.Nullable) && !initializerNode) { + if ( + !initializerNode && !global.is(CommonFlags.DefinitelyAssigned) && + type.isReference && !type.isNullableReference + ) { this.error( - DiagnosticCode.Initializer_expected, + DiagnosticCode.Initializer_or_definitive_assignment_expected, global.identifierNode.range ); } @@ -5878,7 +5882,7 @@ export class Compiler extends DiagnosticEmitter { this.currentType = type; return module.block(null, [ module.global_set(global.internalName, valueExpr), - module.global_get(global.internalName, typeRef) + module.global_get(global.internalName, typeRef) // known to be assigned now ], typeRef); } else { // global = value this.currentType = Type.void; @@ -6739,24 +6743,13 @@ export class Compiler extends DiagnosticEmitter { continue; } let resolved = this.resolver.lookupExpression(initializer, instance.flow, parameterTypes[i], ReportMode.Swallow); - if (resolved) { - if (resolved.kind == ElementKind.Global) { - let global = resolved; - if (this.compileGlobal(global)) { - if (global.is(CommonFlags.Inlined)) { - operands.push( - this.compileInlineConstant(global, parameterTypes[i], Constraints.ConvImplicit) - ); - } else { - operands.push( - this.convertExpression( - module.global_get(global.internalName, global.type.toRef()), - global.type, parameterTypes[i], false, initializer - ) - ); - } - continue; - } + if (resolved && resolved.kind == ElementKind.Global) { + let global = resolved; + if (this.compileGlobal(global) && global.is(CommonFlags.Inlined)) { + operands.push( + this.compileInlineConstant(global, parameterTypes[i], Constraints.ConvImplicit) + ); + continue; } } } @@ -7333,8 +7326,12 @@ export class Compiler extends DiagnosticEmitter { if (global.is(CommonFlags.Inlined)) { return this.compileInlineConstant(global, contextualType, constraints); } + let expr = module.global_get(global.internalName, globalType.toRef()); + if (global.is(CommonFlags.DefinitelyAssigned) && globalType.isReference && !globalType.isNullableReference) { + expr = this.makeRuntimeNonNullCheck(expr, globalType, expression); + } this.currentType = globalType; - return module.global_get(global.internalName, globalType.toRef()); + return expr; } case ElementKind.EnumValue: { // here: if referenced from within the same enum let enumValue = target; @@ -8836,8 +8833,12 @@ export class Compiler extends DiagnosticEmitter { if (global.is(CommonFlags.Inlined)) { return this.compileInlineConstant(global, ctxType, constraints); } + let expr = module.global_get(global.internalName, globalType.toRef()); + if (global.is(CommonFlags.DefinitelyAssigned) && globalType.isReference && !globalType.isNullableReference) { + expr = this.makeRuntimeNonNullCheck(expr, globalType, expression); + } this.currentType = globalType; - return module.global_get(global.internalName, globalType.toRef()); + return expr; } case ElementKind.EnumValue: { // enum value let enumValue = target; @@ -10226,7 +10227,7 @@ export class Compiler extends DiagnosticEmitter { flow.setLocalFlag(tempIndex, LocalFlags.NonNull); let staticAbortCallExpr = this.makeStaticAbort( - this.ensureStaticString("unexpected null"), + this.ensureStaticString("Unexpected 'null' (not assigned or failed cast)"), reportNode ); // TODO: throw diff --git a/src/diagnosticMessages.json b/src/diagnosticMessages.json index 6495a0c4a9..6de6162931 100644 --- a/src/diagnosticMessages.json +++ b/src/diagnosticMessages.json @@ -49,7 +49,7 @@ "Only variables, functions and enums become WebAssembly module exports.": 235, "Literal '{0}' does not fit into 'i64' or 'u64' types.": 236, "Index signature accessors in type '{0}' differ in types.": 237, - "Initializer expected.": 238, + "Initializer or definitive assignment expected.": 238, "Importing the table disables some indirect call optimizations.": 901, "Exporting the table disables some indirect call optimizations.": 902, diff --git a/tests/compiler/NonNullable.debug.wat b/tests/compiler/NonNullable.debug.wat index 12caa2001d..66845e0ec6 100644 --- a/tests/compiler/NonNullable.debug.wat +++ b/tests/compiler/NonNullable.debug.wat @@ -11,16 +11,16 @@ (global $~lib/shared/runtime/Runtime.Incremental i32 (i32.const 2)) (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $NonNullable/z (mut i32) (i32.const 224)) - (global $~lib/memory/__data_end i32 (i32.const 300)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33068)) - (global $~lib/memory/__heap_base i32 (i32.const 33068)) + (global $~lib/memory/__data_end i32 (i32.const 364)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33132)) + (global $~lib/memory/__heap_base i32 (i32.const 33132)) (memory $0 1) (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00u\003\002\00\00\00\00\00\00\00") (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00N\00o\00n\00N\00u\00l\00l\00a\00b\00l\00e\00.\00t\00s\00") (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") (data (i32.const 124) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00A\00r\00r\00a\00y\00<\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00/\00S\00t\00r\00i\00n\00g\00>\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00z\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -222,8 +222,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 33088 - i32.const 33136 + i32.const 33152 + i32.const 33200 i32.const 1 i32.const 1 call $~lib/builtins/abort diff --git a/tests/compiler/NonNullable.release.wat b/tests/compiler/NonNullable.release.wat index c5e6ef1e1b..f94b1bdd09 100644 --- a/tests/compiler/NonNullable.release.wat +++ b/tests/compiler/NonNullable.release.wat @@ -3,7 +3,7 @@ (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $none_=>_none (func_subtype func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34092)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34156)) (memory $0 1) (data (i32.const 1036) "\1c") (data (i32.const 1048) "\02\00\00\00\06\00\00\00u\003\002") @@ -15,8 +15,8 @@ (data (i32.const 1160) "\02\00\00\002\00\00\00A\00r\00r\00a\00y\00<\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00/\00S\00t\00r\00i\00n\00g\00>") (data (i32.const 1228) "\1c") (data (i32.const 1240) "\02\00\00\00\02\00\00\00z") - (data (i32.const 1260) "<") - (data (i32.const 1272) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") + (data (i32.const 1260) "|") + (data (i32.const 1272) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") (export "memory" (memory $0)) (start $~start) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) @@ -143,11 +143,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1324 + i32.const 1388 i32.lt_s if - i32.const 34112 - i32.const 34160 + i32.const 34176 + i32.const 34224 i32.const 1 i32.const 1 call $~lib/builtins/abort diff --git a/tests/compiler/assert-nonnull.debug.wat b/tests/compiler/assert-nonnull.debug.wat index 722eb31459..608c21475c 100644 --- a/tests/compiler/assert-nonnull.debug.wat +++ b/tests/compiler/assert-nonnull.debug.wat @@ -9,15 +9,15 @@ (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) (global $~lib/shared/runtime/Runtime.Incremental i32 (i32.const 2)) (global $~argumentsLength (mut i32) (i32.const 0)) - (global $~lib/memory/__data_end i32 (i32.const 380)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33148)) - (global $~lib/memory/__heap_base i32 (i32.const 33148)) + (global $~lib/memory/__data_end i32 (i32.const 444)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33212)) + (global $~lib/memory/__heap_base i32 (i32.const 33212)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00a\00s\00s\00e\00r\00t\00-\00n\00o\00n\00n\00u\00l\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 252) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00a\00s\00s\00e\00r\00t\00-\00n\00o\00n\00n\00u\00l\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data (i32.const 316) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -41,7 +41,7 @@ local.get $1 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 2 i32.const 10 call $~lib/builtins/abort @@ -78,7 +78,7 @@ local.get $1 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 35 i32.const 10 call $~lib/builtins/abort @@ -96,8 +96,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 33168 - i32.const 33216 + i32.const 33232 + i32.const 33280 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -121,7 +121,7 @@ local.get $1 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 11 i32.const 10 call $~lib/builtins/abort @@ -157,7 +157,7 @@ local.get $1 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 19 i32.const 10 call $~lib/builtins/abort @@ -201,7 +201,7 @@ local.get $1 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 27 i32.const 10 call $~lib/builtins/abort @@ -221,7 +221,7 @@ local.get $2 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 27 i32.const 10 call $~lib/builtins/abort @@ -240,7 +240,7 @@ local.get $3 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 27 i32.const 10 call $~lib/builtins/abort @@ -277,7 +277,7 @@ local.get $1 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 31 i32.const 10 call $~lib/builtins/abort @@ -297,7 +297,7 @@ local.get $2 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 31 i32.const 10 call $~lib/builtins/abort @@ -316,7 +316,7 @@ local.get $3 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 31 i32.const 10 call $~lib/builtins/abort @@ -350,7 +350,7 @@ local.get $1 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 15 i32.const 10 call $~lib/builtins/abort @@ -379,8 +379,8 @@ call $~lib/array/Array#get:length_ i32.ge_u if - i32.const 160 i32.const 224 + i32.const 288 i32.const 114 i32.const 42 call $~lib/builtins/abort @@ -404,8 +404,8 @@ local.get $value i32.eqz if - i32.const 272 - i32.const 224 + i32.const 336 + i32.const 288 i32.const 118 i32.const 40 call $~lib/builtins/abort @@ -435,8 +435,8 @@ call $~lib/array/Array#get:length_ i32.ge_u if - i32.const 160 i32.const 224 + i32.const 288 i32.const 114 i32.const 42 call $~lib/builtins/abort @@ -487,7 +487,7 @@ local.get $1 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 23 i32.const 10 call $~lib/builtins/abort @@ -519,7 +519,7 @@ local.get $1 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 39 i32.const 13 call $~lib/builtins/abort @@ -560,7 +560,7 @@ local.get $1 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 44 i32.const 10 call $~lib/builtins/abort @@ -575,7 +575,7 @@ local.get $2 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 44 i32.const 10 call $~lib/builtins/abort @@ -611,7 +611,7 @@ local.get $1 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 48 i32.const 10 call $~lib/builtins/abort @@ -651,7 +651,7 @@ local.get $1 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 52 i32.const 10 call $~lib/builtins/abort @@ -666,7 +666,7 @@ local.get $2 else i32.const 32 - i32.const 96 + i32.const 160 i32.const 52 i32.const 10 call $~lib/builtins/abort diff --git a/tests/compiler/assert-nonnull.release.wat b/tests/compiler/assert-nonnull.release.wat index d588e4c6c9..6152e7cb36 100644 --- a/tests/compiler/assert-nonnull.release.wat +++ b/tests/compiler/assert-nonnull.release.wat @@ -3,18 +3,18 @@ (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34172)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34236)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") - (data (i32.const 1100) "<") - (data (i32.const 1112) "\02\00\00\00\"\00\00\00a\00s\00s\00e\00r\00t\00-\00n\00o\00n\00n\00u\00l\00l\00.\00t\00s") + (data (i32.const 1036) "|") + (data (i32.const 1048) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") (data (i32.const 1164) "<") - (data (i32.const 1176) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") - (data (i32.const 1228) ",") - (data (i32.const 1240) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1276) "|") - (data (i32.const 1288) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data (i32.const 1176) "\02\00\00\00\"\00\00\00a\00s\00s\00e\00r\00t\00-\00n\00o\00n\00n\00u\00l\00l\00.\00t\00s") + (data (i32.const 1228) "<") + (data (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 1292) ",") + (data (i32.const 1304) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 1340) "|") + (data (i32.const 1352) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") (table $0 1 1 funcref) (export "memory" (memory $0)) (export "testVar" (func $export:assert-nonnull/testVar)) @@ -36,11 +36,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s if - i32.const 34192 - i32.const 34240 + i32.const 34256 + i32.const 34304 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -53,8 +53,8 @@ i32.load $0 offset=12 i32.eqz if - i32.const 1184 i32.const 1248 + i32.const 1312 i32.const 114 i32.const 42 call $~lib/builtins/abort @@ -79,11 +79,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s if - i32.const 34192 - i32.const 34240 + i32.const 34256 + i32.const 34304 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -96,7 +96,7 @@ i32.eqz if i32.const 1056 - i32.const 1120 + i32.const 1184 i32.const 2 i32.const 10 call $~lib/builtins/abort @@ -116,7 +116,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -128,7 +128,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -138,7 +138,7 @@ i32.eqz if i32.const 1056 - i32.const 1120 + i32.const 1184 i32.const 11 i32.const 10 call $~lib/builtins/abort @@ -162,8 +162,8 @@ local.get $0 return end - i32.const 34192 - i32.const 34240 + i32.const 34256 + i32.const 34304 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -177,7 +177,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -189,7 +189,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -205,7 +205,7 @@ i32.eqz if i32.const 1056 - i32.const 1120 + i32.const 1184 i32.const 15 i32.const 10 call $~lib/builtins/abort @@ -222,8 +222,8 @@ local.get $0 return end - i32.const 34192 - i32.const 34240 + i32.const 34256 + i32.const 34304 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -237,7 +237,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -249,7 +249,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -259,7 +259,7 @@ i32.eqz if i32.const 1056 - i32.const 1120 + i32.const 1184 i32.const 19 i32.const 10 call $~lib/builtins/abort @@ -274,7 +274,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -284,8 +284,8 @@ i32.load $0 offset=12 i32.eqz if - i32.const 1184 i32.const 1248 + i32.const 1312 i32.const 114 i32.const 42 call $~lib/builtins/abort @@ -300,8 +300,8 @@ local.get $0 i32.eqz if - i32.const 1296 - i32.const 1248 + i32.const 1360 + i32.const 1312 i32.const 118 i32.const 40 call $~lib/builtins/abort @@ -322,8 +322,8 @@ local.get $0 return end - i32.const 34192 - i32.const 34240 + i32.const 34256 + i32.const 34304 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -337,7 +337,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -349,7 +349,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -365,7 +365,7 @@ i32.eqz if i32.const 1056 - i32.const 1120 + i32.const 1184 i32.const 23 i32.const 10 call $~lib/builtins/abort @@ -382,8 +382,8 @@ local.get $0 return end - i32.const 34192 - i32.const 34240 + i32.const 34256 + i32.const 34304 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -398,7 +398,7 @@ block $folding-inner1 block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -410,7 +410,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -456,15 +456,15 @@ local.get $0 return end - i32.const 34192 - i32.const 34240 + i32.const 34256 + i32.const 34304 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 1056 - i32.const 1120 + i32.const 1184 i32.const 27 i32.const 10 call $~lib/builtins/abort @@ -479,7 +479,7 @@ block $folding-inner1 block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -491,7 +491,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -537,15 +537,15 @@ local.get $0 return end - i32.const 34192 - i32.const 34240 + i32.const 34256 + i32.const 34304 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 1056 - i32.const 1120 + i32.const 1184 i32.const 31 i32.const 10 call $~lib/builtins/abort @@ -557,11 +557,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s if - i32.const 34192 - i32.const 34240 + i32.const 34256 + i32.const 34304 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -574,7 +574,7 @@ i32.eqz if i32.const 1056 - i32.const 1120 + i32.const 1184 i32.const 35 i32.const 10 call $~lib/builtins/abort @@ -594,7 +594,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -606,7 +606,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -617,7 +617,7 @@ i32.eqz if i32.const 1056 - i32.const 1120 + i32.const 1184 i32.const 39 i32.const 13 call $~lib/builtins/abort @@ -632,8 +632,8 @@ drop unreachable end - i32.const 34192 - i32.const 34240 + i32.const 34256 + i32.const 34304 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -648,7 +648,7 @@ block $folding-inner1 block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -660,7 +660,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -675,15 +675,15 @@ drop unreachable end - i32.const 34192 - i32.const 34240 + i32.const 34256 + i32.const 34304 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 1056 - i32.const 1120 + i32.const 1184 i32.const 44 i32.const 10 call $~lib/builtins/abort @@ -697,7 +697,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -709,7 +709,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -725,7 +725,7 @@ i32.eqz if i32.const 1056 - i32.const 1120 + i32.const 1184 i32.const 48 i32.const 10 call $~lib/builtins/abort @@ -737,8 +737,8 @@ drop unreachable end - i32.const 34192 - i32.const 34240 + i32.const 34256 + i32.const 34304 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -753,7 +753,7 @@ block $folding-inner1 block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -765,7 +765,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1404 + i32.const 1468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -786,15 +786,15 @@ drop unreachable end - i32.const 34192 - i32.const 34240 + i32.const 34256 + i32.const 34304 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 1056 - i32.const 1120 + i32.const 1184 i32.const 52 i32.const 10 call $~lib/builtins/abort diff --git a/tests/compiler/features/reference-types.debug.wat b/tests/compiler/features/reference-types.debug.wat index da1f7e3a34..86d077e642 100644 --- a/tests/compiler/features/reference-types.debug.wat +++ b/tests/compiler/features/reference-types.debug.wat @@ -16,12 +16,12 @@ (global $features/reference-types/b funcref (ref.null nofunc)) (global $features/reference-types/nonNullFunc (mut funcref) (ref.null nofunc)) (global $features/reference-types/nonNullReal (mut externref) (ref.null noextern)) - (global $~lib/memory/__data_end i32 (i32.const 156)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32924)) - (global $~lib/memory/__heap_base i32 (i32.const 32924)) + (global $~lib/memory/__data_end i32 (i32.const 220)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32988)) + (global $~lib/memory/__heap_base i32 (i32.const 32988)) (memory $0 1) (data (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00r\00e\00f\00e\00r\00e\00n\00c\00e\00-\00t\00y\00p\00e\00s\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 92) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (elem declare func $features/reference-types/someFunc) diff --git a/tests/compiler/features/reference-types.release.wat b/tests/compiler/features/reference-types.release.wat index 3fd3becfa9..fafc2b8ea2 100644 --- a/tests/compiler/features/reference-types.release.wat +++ b/tests/compiler/features/reference-types.release.wat @@ -15,8 +15,8 @@ (memory $0 1) (data (i32.const 1036) "L") (data (i32.const 1048) "\02\00\00\006\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00r\00e\00f\00e\00r\00e\00n\00c\00e\00-\00t\00y\00p\00e\00s\00.\00t\00s") - (data (i32.const 1116) "<") - (data (i32.const 1128) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") + (data (i32.const 1116) "|") + (data (i32.const 1128) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") (elem declare func $features/reference-types/someFunc) (export "external" (func $features/reference-types/external)) (export "somethingReal" (func $features/reference-types/somethingReal)) diff --git a/tests/compiler/issues/1095.debug.wat b/tests/compiler/issues/1095.debug.wat index 5eb2b54ee1..56990c513e 100644 --- a/tests/compiler/issues/1095.debug.wat +++ b/tests/compiler/issues/1095.debug.wat @@ -23,10 +23,10 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 560)) - (global $~lib/memory/__data_end i32 (i32.const 584)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33352)) - (global $~lib/memory/__heap_base i32 (i32.const 33352)) + (global $~lib/rt/__rtti_base i32 (i32.const 624)) + (global $~lib/memory/__data_end i32 (i32.const 648)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33416)) + (global $~lib/memory/__heap_base i32 (i32.const 33416)) (memory $0 1) (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") @@ -37,9 +37,9 @@ (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00e\00s\00t\00\00\00\00\00") - (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\000\009\005\00.\00t\00s\00") - (data (i32.const 560) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 444) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\000\009\005\00.\00t\00s\00") + (data (i32.const 624) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -2337,8 +2337,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 33376 - i32.const 33424 + i32.const 33440 + i32.const 33488 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2408,7 +2408,7 @@ local.get $1 else i32.const 464 - i32.const 528 + i32.const 592 i32.const 8 i32.const 13 call $~lib/builtins/abort diff --git a/tests/compiler/issues/1095.release.wat b/tests/compiler/issues/1095.release.wat index fb0b2c31f0..3c3eac244c 100644 --- a/tests/compiler/issues/1095.release.wat +++ b/tests/compiler/issues/1095.release.wat @@ -17,7 +17,7 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34376)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34440)) (memory $0 1) (data (i32.const 1036) "<") (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") @@ -31,11 +31,11 @@ (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 1436) "\1c") (data (i32.const 1448) "\02\00\00\00\08\00\00\00t\00e\00s\00t") - (data (i32.const 1468) "<") - (data (i32.const 1480) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") - (data (i32.const 1532) ",") - (data (i32.const 1544) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\000\009\005\00.\00t\00s") - (data (i32.const 1584) "\05\00\00\00 \00\00\00 \00\00\00 ") + (data (i32.const 1468) "|") + (data (i32.const 1480) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") + (data (i32.const 1596) ",") + (data (i32.const 1608) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\000\009\005\00.\00t\00s") + (data (i32.const 1648) "\05\00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -118,7 +118,7 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 34376 + i32.const 34440 i32.lt_u i32.and i32.eqz @@ -167,7 +167,7 @@ i32.const 1 else local.get $1 - i32.const 1584 + i32.const 1648 i32.load $0 i32.gt_u if @@ -181,7 +181,7 @@ local.get $1 i32.const 2 i32.shl - i32.const 1588 + i32.const 1652 i32.add i32.load $0 i32.const 32 @@ -746,10 +746,10 @@ if unreachable end - i32.const 34384 + i32.const 34448 i32.const 0 i32.store $0 - i32.const 35952 + i32.const 36016 i32.const 0 i32.store $0 loop $for-loop|0 @@ -760,7 +760,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34384 + i32.const 34448 i32.add i32.const 0 i32.store $0 offset=4 @@ -778,7 +778,7 @@ i32.add i32.const 2 i32.shl - i32.const 34384 + i32.const 34448 i32.add i32.const 0 i32.store $0 offset=96 @@ -796,13 +796,13 @@ br $for-loop|0 end end - i32.const 34384 - i32.const 35956 + i32.const 34448 + i32.const 36020 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34384 + i32.const 34448 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -887,7 +887,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34376 + i32.const 34440 i32.lt_u if local.get $0 @@ -987,7 +987,7 @@ unreachable end local.get $0 - i32.const 34376 + i32.const 34440 i32.lt_u if local.get $0 @@ -1010,7 +1010,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34376 + i32.const 34440 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1596,7 +1596,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1608 + i32.const 1672 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1606,7 +1606,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34376 + i32.const 34440 i32.sub i32.const 1 i32.shr_u @@ -1640,7 +1640,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1608 + i32.const 1672 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1659,7 +1659,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1608 + i32.const 1672 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1700,7 +1700,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1608 + i32.const 1672 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1716,7 +1716,7 @@ i32.eqz if i32.const 1488 - i32.const 1552 + i32.const 1616 i32.const 8 i32.const 13 call $~lib/builtins/abort @@ -1738,8 +1738,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 34400 - i32.const 34448 + i32.const 34464 + i32.const 34512 i32.const 1 i32.const 1 call $~lib/builtins/abort diff --git a/tests/compiler/managed-cast.debug.wat b/tests/compiler/managed-cast.debug.wat index 86d1e68ec1..738bbb76ca 100644 --- a/tests/compiler/managed-cast.debug.wat +++ b/tests/compiler/managed-cast.debug.wat @@ -23,10 +23,10 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 608)) - (global $~lib/memory/__data_end i32 (i32.const 636)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33404)) - (global $~lib/memory/__heap_base i32 (i32.const 33404)) + (global $~lib/rt/__rtti_base i32 (i32.const 672)) + (global $~lib/memory/__data_end i32 (i32.const 700)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33468)) + (global $~lib/memory/__heap_base i32 (i32.const 33468)) (memory $0 1) (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") @@ -36,10 +36,10 @@ (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") (data (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00m\00a\00n\00a\00g\00e\00d\00-\00c\00a\00s\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00n\00v\00a\00l\00i\00d\00 \00d\00o\00w\00n\00c\00a\00s\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 608) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") + (data (i32.const 412) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00m\00a\00n\00a\00g\00e\00d\00-\00c\00a\00s\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00n\00v\00a\00l\00i\00d\00 \00d\00o\00w\00n\00c\00a\00s\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 672) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -2225,8 +2225,8 @@ if (result i32) local.get $1 else + i32.const 624 i32.const 560 - i32.const 496 i32.const 41 i32.const 30 call $~lib/builtins/abort @@ -2267,8 +2267,8 @@ if (result i32) local.get $1 else + i32.const 624 i32.const 560 - i32.const 496 i32.const 47 i32.const 30 call $~lib/builtins/abort @@ -2415,8 +2415,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 33424 - i32.const 33472 + i32.const 33488 + i32.const 33536 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2440,7 +2440,7 @@ local.get $1 else i32.const 432 - i32.const 496 + i32.const 560 i32.const 14 i32.const 12 call $~lib/builtins/abort @@ -2474,8 +2474,8 @@ if (result i32) local.get $1 else + i32.const 624 i32.const 560 - i32.const 496 i32.const 31 i32.const 9 call $~lib/builtins/abort @@ -2511,7 +2511,7 @@ local.get $1 else i32.const 432 - i32.const 496 + i32.const 560 i32.const 36 i32.const 9 call $~lib/builtins/abort @@ -2524,8 +2524,8 @@ if (result i32) local.get $2 else + i32.const 624 i32.const 560 - i32.const 496 i32.const 36 i32.const 9 call $~lib/builtins/abort diff --git a/tests/compiler/managed-cast.release.wat b/tests/compiler/managed-cast.release.wat index 34216ecf70..6582f682b7 100644 --- a/tests/compiler/managed-cast.release.wat +++ b/tests/compiler/managed-cast.release.wat @@ -17,7 +17,7 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34428)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34492)) (memory $0 1) (data (i32.const 1036) "<") (data (i32.const 1048) "\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") @@ -29,13 +29,13 @@ (data (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") (data (i32.const 1372) "<") (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1436) "<") - (data (i32.const 1448) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") - (data (i32.const 1500) "<") - (data (i32.const 1512) "\02\00\00\00\1e\00\00\00m\00a\00n\00a\00g\00e\00d\00-\00c\00a\00s\00t\00.\00t\00s") + (data (i32.const 1436) "|") + (data (i32.const 1448) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") (data (i32.const 1564) "<") - (data (i32.const 1576) "\02\00\00\00 \00\00\00i\00n\00v\00a\00l\00i\00d\00 \00d\00o\00w\00n\00c\00a\00s\00t") - (data (i32.const 1632) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (data (i32.const 1576) "\02\00\00\00\1e\00\00\00m\00a\00n\00a\00g\00e\00d\00-\00c\00a\00s\00t\00.\00t\00s") + (data (i32.const 1628) "<") + (data (i32.const 1640) "\02\00\00\00 \00\00\00i\00n\00v\00a\00l\00i\00d\00 \00d\00o\00w\00n\00c\00a\00s\00t") + (data (i32.const 1696) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -614,10 +614,10 @@ if unreachable end - i32.const 34432 + i32.const 34496 i32.const 0 i32.store $0 - i32.const 36000 + i32.const 36064 i32.const 0 i32.store $0 loop $for-loop|0 @@ -628,7 +628,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 34432 + i32.const 34496 i32.add i32.const 0 i32.store $0 offset=4 @@ -646,7 +646,7 @@ i32.add i32.const 2 i32.shl - i32.const 34432 + i32.const 34496 i32.add i32.const 0 i32.store $0 offset=96 @@ -664,13 +664,13 @@ br $for-loop|0 end end - i32.const 34432 - i32.const 36004 + i32.const 34496 + i32.const 36068 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 34432 + i32.const 34496 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -755,7 +755,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34428 + i32.const 34492 i32.lt_u if local.get $0 @@ -855,7 +855,7 @@ unreachable end local.get $0 - i32.const 34428 + i32.const 34492 i32.lt_u if local.get $0 @@ -878,7 +878,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34428 + i32.const 34492 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1274,7 +1274,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1660 + i32.const 1724 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1283,7 +1283,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 34428 + i32.const 34492 i32.sub i32.const 1 i32.shr_u @@ -1327,7 +1327,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1660 + i32.const 1724 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1337,7 +1337,7 @@ i32.eqz if i32.const 1456 - i32.const 1520 + i32.const 1584 i32.const 14 i32.const 12 call $~lib/builtins/abort @@ -1371,7 +1371,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1660 + i32.const 1724 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1384,8 +1384,8 @@ i32.const 4 i32.ne if + i32.const 1648 i32.const 1584 - i32.const 1520 i32.const 31 i32.const 9 call $~lib/builtins/abort @@ -1409,7 +1409,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1660 + i32.const 1724 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1421,7 +1421,7 @@ i32.eqz if i32.const 1456 - i32.const 1520 + i32.const 1584 i32.const 36 i32.const 9 call $~lib/builtins/abort @@ -1443,8 +1443,8 @@ end i32.eqz if + i32.const 1648 i32.const 1584 - i32.const 1520 i32.const 36 i32.const 9 call $~lib/builtins/abort @@ -1468,7 +1468,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1660 + i32.const 1724 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1482,8 +1482,8 @@ i32.const 4 i32.ne if + i32.const 1648 i32.const 1584 - i32.const 1520 i32.const 41 i32.const 30 call $~lib/builtins/abort @@ -1506,7 +1506,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1660 + i32.const 1724 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1522,8 +1522,8 @@ i32.const 4 i32.ne if + i32.const 1648 i32.const 1584 - i32.const 1520 i32.const 47 i32.const 30 call $~lib/builtins/abort @@ -1540,7 +1540,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 34428 + i32.const 34492 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -1581,8 +1581,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 34448 - i32.const 34496 + i32.const 34512 + i32.const 34560 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -1598,7 +1598,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1660 + i32.const 1724 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1616,7 +1616,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1660 + i32.const 1724 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1637,7 +1637,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1660 + i32.const 1724 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -1673,8 +1673,8 @@ local.get $0 return end - i32.const 34448 - i32.const 34496 + i32.const 34512 + i32.const 34560 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -1725,7 +1725,7 @@ i32.load $0 offset=8 i32.eqz local.get $1 - i32.const 34428 + i32.const 34492 i32.lt_u i32.and i32.eqz @@ -1774,7 +1774,7 @@ i32.const 1 else local.get $0 - i32.const 1632 + i32.const 1696 i32.load $0 i32.gt_u if @@ -1788,7 +1788,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 1636 + i32.const 1700 i32.add i32.load $0 i32.const 32 diff --git a/tests/compiler/std/array.debug.wat b/tests/compiler/std/array.debug.wat index e3a14d9cf3..8c7b2dbc3a 100644 --- a/tests/compiler/std/array.debug.wat +++ b/tests/compiler/std/array.debug.wat @@ -14,6 +14,7 @@ (type $i64_i32_=>_i32 (func_subtype (param i64 i32) (result i32) func)) (type $none_=>_f64 (func_subtype (result f64) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) + (type $i32_f32_i32_i32_=>_i32 (func_subtype (param i32 f32 i32 i32) (result i32) func)) (type $i32_f32_i32_=>_i32 (func_subtype (param i32 f32 i32) (result i32) func)) (type $i32_f64_i32_=>_i32 (func_subtype (param i32 f64 i32) (result i32) func)) (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) @@ -23,7 +24,6 @@ (type $i32_i64_=>_i32 (func_subtype (param i32 i64) (result i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_f32_i32_i32_=>_none (func_subtype (param i32 i32 f32 i32 i32) func)) - (type $i32_f32_i32_i32_=>_i32 (func_subtype (param i32 f32 i32 i32) (result i32) func)) (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (type $i32_i64_i32_i32_=>_none (func_subtype (param i32 i64 i32 i32) func)) (type $i64_=>_i64 (func_subtype (param i64) (result i64) func)) @@ -52,15 +52,15 @@ (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $std/array/arr (mut i32) (i32.const 0)) (global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647)) + (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $std/array/i (mut i32) (i32.const 0)) - (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/math/random_state0_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) (global $~lib/math/random_seeded (mut i32) (i32.const 0)) - (global $std/array/charset i32 (i32.const 8944)) + (global $std/array/charset i32 (i32.const 9008)) (global $std/array/inputStabArr (mut i32) (i32.const 0)) (global $std/array/outputStabArr (mut i32) (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) @@ -73,10 +73,10 @@ (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) (global $~lib/builtins/i64.MIN_VALUE i64 (i64.const -9223372036854775808)) (global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807)) - (global $~lib/rt/__rtti_base i32 (i32.const 14912)) - (global $~lib/memory/__data_end i32 (i32.const 15104)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 47872)) - (global $~lib/memory/__heap_base i32 (i32.const 47872)) + (global $~lib/rt/__rtti_base i32 (i32.const 14976)) + (global $~lib/memory/__data_end i32 (i32.const 15168)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 47936)) + (global $~lib/memory/__heap_base i32 (i32.const 47936)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") @@ -204,183 +204,183 @@ (data (i32.const 5292) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 5340) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 5372) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5500) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5564) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5596) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5628) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5660) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5692) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5724) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5756) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5804) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5836) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5868) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5900) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5932) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5964) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5996) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6028) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6060) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6092) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6124) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6156) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6188) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6220) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6252) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\15\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6284) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6316) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\17\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6348) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6380) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\19\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6412) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 6540) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 6604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6636) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 7036) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8092) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00\00\00\00\00") - (data (i32.const 8188) "\1c\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\08\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8220) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\1b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8252) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8284) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8316) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8348) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\1f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8380) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8412) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8444) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8476) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00#\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8508) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00$\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00%\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8572) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8604) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00\'\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8636) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00(\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8668) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8700) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00*\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8732) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8764) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8796) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8828) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8860) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00/\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8892) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8924) "\bc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\ac\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") - (data (i32.const 9116) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\00@\00\00\80\bf\00\00\00\00") - (data (i32.const 9148) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9180) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\80\bf\00\00\00\00\00\00\00@") - (data (i32.const 9212) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9276) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9340) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9436) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9468) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9564) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9612) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\003\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9644) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9692) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9740) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\004\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9772) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00") - (data (i32.const 9820) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9852) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9884) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 9916) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9964) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10012) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\005\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10044) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10076) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 10108) "\1c\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\08\00\00\006\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10140) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\007\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10172) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\008\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10204) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\009\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10236) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10268) "\1c\00\00\00\00\00\00\00\00\00\00\00\1e\00\00\00\08\00\00\00;\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10300) "\1c\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\08\00\00\00<\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10364) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 10428) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00b\00a\00\00\00\00\00\00\00\00\00") - (data (i32.const 10460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10492) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00p(\00\00\90(\00\00p(\00\00\b0(\00\00\d0(\00\00\f0(\00\00\00\00\00\00") - (data (i32.const 10540) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00\f0(\00\00p(\00\00p(\00\00\b0(\00\00\90(\00\00\d0(\00\00\00\00\00\00") - (data (i32.const 10588) "\1c\00\00\00\00\00\00\00\00\00\00\00#\00\00\00\08\00\00\00=\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10620) "\1c\00\00\00\00\00\00\00\00\00\00\00$\00\00\00\08\00\00\00>\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") - (data (i32.const 10716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") - (data (i32.const 10748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10780) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 10828) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 10860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00-\002\00-\003\00\00\00") - (data (i32.const 10892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 10924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80\00\00\00\00") - (data (i32.const 10988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00_\00_\00\00\00\00\00\00\00\00\00") - (data (i32.const 11020) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11100) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11180) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00,\00 \00\00\00\00\00\00\00\00\00") - (data (i32.const 11212) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 11244) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 11276) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11324) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11376) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11432) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 12876) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00,\002\00\00\00\00\00\00\00") - (data (i32.const 12956) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13004) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\01\ff\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00,\00-\001\00,\000\00") - (data (i32.const 13068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\80\81\80\00\00\00\00\00\00\00\00\00") - (data (i32.const 13100) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00-\001\002\008\00,\00-\001\002\007\00,\00-\001\002\008\00") - (data (i32.const 13148) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\01\00\ff\ff\00\00\00\00\00\00\00\00") - (data (i32.const 13180) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13228) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\80\01\ff\00\00\00\00\00\00\00\00") - (data (i32.const 13260) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00-\003\002\007\006\008\00,\00-\002\005\005\00\00\00\00\00\00\00") - (data (i32.const 13308) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\80\80\ff\ff\ff\00\00\00\00") - (data (i32.const 13340) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00-\002\001\004\007\004\008\003\006\004\008\00,\00-\001\002\008\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13404) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13452) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13532) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f\00\00\00\00") - (data (i32.const 13596) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00~\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13756) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00\f0(\00\00p(\00\00p(\00\00\b0(\00\00\90(\00\00\d0(\00\00\00\00\00\00") - (data (i32.const 13804) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,\00\00\00") - (data (i32.const 13852) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\004\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13916) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\c00\00\0006\00\00\00\00\00\00P6\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13964) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00,\002\00,\00,\004\00") - (data (i32.const 13996) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 14028) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00") - (data (i32.const 14060) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14108) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\01\02\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14140) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\04\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14172) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14236) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 14268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00") - (data (i32.const 14300) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00") - (data (i32.const 14332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00o\00n\00e\00\00\00\00\00\00\00") - (data (i32.const 14364) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\108\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00t\00w\00o\00\00\00\00\00\00\00") - (data (i32.const 14428) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00t\00h\00r\00e\00e\00\00\00") - (data (i32.const 14460) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00P8\00\00\00\00\00\00p8\00\00") - (data (i32.const 14492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00f\00o\00u\00r\00\00\00\00\00") - (data (i32.const 14524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00f\00i\00v\00e\00\00\00\00\00") - (data (i32.const 14556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00s\00i\00x\00\00\00\00\00\00\00") - (data (i32.const 14588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\b08\00\00\d08\00\00\f08\00\00") - (data (i32.const 14620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00s\00e\00v\00e\00n\00\00\00") - (data (i32.const 14652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\0009\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14684) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00\108\00\00P8\00\00\00\00\00\00p8\00\00\b08\00\00\d08\00\00\f08\00\0009\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14876) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00?\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14912) "/\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00 \00\00\00A\00\00\00B\00\00\00\02\01\00\00\02\19\00\00\02A\00\00\82\00\00\00\02\1a\00\00\02a\00\00\00\00\00\00\00\00\00\00\02A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02A\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\02a\00\00\00\00\00\00\00\00\00\00B\00\00\00B\08\00\00\82\08\00\00\02\02\00\00\02\n\00\00\02A\00\00\02A\00\00\02A\00\00\02A\00\00\00\00\00\00") + (data (i32.const 5500) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5628) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5660) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5692) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5724) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5756) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5788) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5820) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5868) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5900) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5932) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5964) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 5996) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6028) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6060) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6092) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6124) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6156) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6188) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6220) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6252) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6284) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6316) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\15\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6348) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6380) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\17\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6412) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6444) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\19\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6476) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data (i32.const 6604) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data (i32.const 6668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 6700) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data (i32.const 7100) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8156) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00\00\00\00\00") + (data (i32.const 8252) "\1c\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\08\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8284) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\1b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8316) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8348) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1d\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8380) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8412) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\1f\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8444) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8476) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8508) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00#\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8572) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00$\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8604) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00%\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8636) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8668) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00\'\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8700) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00(\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8732) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8764) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00*\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8796) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8828) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8860) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8892) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8924) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00/\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8956) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 8988) "\bc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\ac\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") + (data (i32.const 9180) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\00@\00\00\80\bf\00\00\00\00") + (data (i32.const 9212) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9244) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\80\bf\00\00\00\00\00\00\00@") + (data (i32.const 9276) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9340) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9404) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9500) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9532) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9628) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9676) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\003\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9708) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9756) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9804) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\004\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9836) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00") + (data (i32.const 9884) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9916) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 9948) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 9980) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10028) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10076) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\005\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10108) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10140) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 10172) "\1c\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\08\00\00\006\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10204) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\007\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10236) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\008\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10268) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\009\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10300) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10332) "\1c\00\00\00\00\00\00\00\00\00\00\00\1e\00\00\00\08\00\00\00;\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10364) "\1c\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\08\00\00\00<\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10428) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") + (data (i32.const 10492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00b\00a\00\00\00\00\00\00\00\00\00") + (data (i32.const 10524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10556) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00\b0(\00\00\d0(\00\00\b0(\00\00\f0(\00\00\10)\00\000)\00\00\00\00\00\00") + (data (i32.const 10604) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\000)\00\00\b0(\00\00\b0(\00\00\f0(\00\00\d0(\00\00\10)\00\00\00\00\00\00") + (data (i32.const 10652) "\1c\00\00\00\00\00\00\00\00\00\00\00#\00\00\00\08\00\00\00=\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10684) "\1c\00\00\00\00\00\00\00\00\00\00\00$\00\00\00\08\00\00\00>\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") + (data (i32.const 10780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") + (data (i32.const 10812) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 10844) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 10892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 10924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00-\002\00-\003\00\00\00") + (data (i32.const 10956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 10988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11020) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80\00\00\00\00") + (data (i32.const 11052) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00_\00_\00\00\00\00\00\00\00\00\00") + (data (i32.const 11084) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11164) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11244) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00,\00 \00\00\00\00\00\00\00\00\00") + (data (i32.const 11276) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") + (data (i32.const 11308) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") + (data (i32.const 11340) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11388) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11440) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 11496) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 12940) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 12988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00,\002\00\00\00\00\00\00\00") + (data (i32.const 13020) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\01\ff\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00,\00-\001\00,\000\00") + (data (i32.const 13132) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\80\81\80\00\00\00\00\00\00\00\00\00") + (data (i32.const 13164) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00-\001\002\008\00,\00-\001\002\007\00,\00-\001\002\008\00") + (data (i32.const 13212) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\01\00\ff\ff\00\00\00\00\00\00\00\00") + (data (i32.const 13244) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13292) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\80\01\ff\00\00\00\00\00\00\00\00") + (data (i32.const 13324) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00-\003\002\007\006\008\00,\00-\002\005\005\00\00\00\00\00\00\00") + (data (i32.const 13372) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\80\80\ff\ff\ff\00\00\00\00") + (data (i32.const 13404) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00-\002\001\004\007\004\008\003\006\004\008\00,\00-\001\002\008\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13468) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13516) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13596) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f\00\00\00\00") + (data (i32.const 13660) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00~\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13820) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\000)\00\00\b0(\00\00\b0(\00\00\f0(\00\00\d0(\00\00\10)\00\00\00\00\00\00") + (data (i32.const 13868) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,\00\00\00") + (data (i32.const 13916) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13948) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\004\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 13980) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\001\00\00p6\00\00\00\00\00\00\906\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14028) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00,\002\00,\00,\004\00") + (data (i32.const 14060) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 14092) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00") + (data (i32.const 14124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14172) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\01\02\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\04\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14236) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14300) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 14332) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00") + (data (i32.const 14364) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00") + (data (i32.const 14396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00o\00n\00e\00\00\00\00\00\00\00") + (data (i32.const 14428) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00P8\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00t\00w\00o\00\00\00\00\00\00\00") + (data (i32.const 14492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00t\00h\00r\00e\00e\00\00\00") + (data (i32.const 14524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\908\00\00\00\00\00\00\b08\00\00") + (data (i32.const 14556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00f\00o\00u\00r\00\00\00\00\00") + (data (i32.const 14588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00f\00i\00v\00e\00\00\00\00\00") + (data (i32.const 14620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00s\00i\00x\00\00\00\00\00\00\00") + (data (i32.const 14652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\f08\00\00\109\00\0009\00\00") + (data (i32.const 14684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00s\00e\00v\00e\00n\00\00\00") + (data (i32.const 14716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00p9\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14748) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00P8\00\00\908\00\00\00\00\00\00\b08\00\00\f08\00\00\109\00\0009\00\00p9\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14940) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00?\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 14976) "/\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00 \00\00\00A\00\00\00B\00\00\00\02\01\00\00\02\19\00\00\02A\00\00\82\00\00\00\02\1a\00\00\02a\00\00\00\00\00\00\00\00\00\00\02A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02A\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\02a\00\00\00\00\00\00\00\00\00\00B\00\00\00B\08\00\00\82\08\00\00\02\02\00\00\02\n\00\00\02A\00\00\02A\00\00\02A\00\00\02A\00\00\00\00\00\00") (table $0 64 64 funcref) (elem $0 (i32.const 1) $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|3 $start:std/array~anonymous|4 $start:std/array~anonymous|5 $start:std/array~anonymous|6 $start:std/array~anonymous|7 $start:std/array~anonymous|8 $start:std/array~anonymous|9 $start:std/array~anonymous|10 $start:std/array~anonymous|11 $start:std/array~anonymous|12 $start:std/array~anonymous|13 $start:std/array~anonymous|14 $start:std/array~anonymous|15 $start:std/array~anonymous|16 $start:std/array~anonymous|17 $start:std/array~anonymous|18 $start:std/array~anonymous|19 $start:std/array~anonymous|20 $start:std/array~anonymous|21 $start:std/array~anonymous|22 $start:std/array~anonymous|23 $start:std/array~anonymous|24 $start:std/array~anonymous|25 $start:std/array~anonymous|26 $start:std/array~anonymous|27 $start:std/array~anonymous|28 $start:std/array~anonymous|29 $start:std/array~anonymous|30 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|34 $start:std/array~anonymous|35 $start:std/array~anonymous|36 $start:std/array~anonymous|37 $start:std/array~anonymous|38 $start:std/array~anonymous|39 $start:std/array~anonymous|40 $start:std/array~anonymous|41 $start:std/array~anonymous|42 $start:std/array~anonymous|43 $start:std/array~anonymous|44 $start:std/array~anonymous|45 $start:std/array~anonymous|46 $start:std/array~anonymous|47 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|1 $std/array/assertStableSortedForComplexObjects~anonymous|0 $start:std/array~anonymous|48 $start:std/array~anonymous|49 $start:std/array~anonymous|50 $start:std/array~anonymous|51 $start:std/array~anonymous|52 $start:std/array~anonymous|53 $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 $start:std/array~anonymous|54) (export "memory" (memory $0)) @@ -2883,6 +2883,30 @@ end i32.const 1 ) + (func $~lib/array/Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $value + local.get $start + local.get $end + call $~lib/array/Array#fill + ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -3103,6 +3127,30 @@ end i32.const 1 ) + (func $~lib/array/Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $value + local.get $start + local.get $end + call $~lib/array/Array#fill + ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -3385,6 +3433,30 @@ end i32.const 1 ) + (func $~lib/array/Array#fill@varargs (type $i32_f32_i32_i32_=>_i32) (param $this i32) (param $value f32) (param $start i32) (param $end i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $value + local.get $start + local.get $end + call $~lib/array/Array#fill + ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 @@ -3876,6 +3948,26 @@ memory.copy $0 $0 local.get $this ) + (func $~lib/array/Array#copyWithin@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 2 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $target + local.get $start + local.get $end + call $~lib/array/Array#copyWithin + ) (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) (local $i i32) local.get $len @@ -4016,6 +4108,27 @@ call $~lib/array/Array#set:length_ local.get $element ) + (func $~lib/array/Array#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $start + local.get $end + call $~lib/array/Array#slice + ) (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) (local $i i32) (local $tail i32) @@ -4902,6 +5015,25 @@ i32.const 0 return ) + (func $~lib/array/Array#splice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $deleteCount i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $deleteCount + end + local.get $this + local.get $start + local.get $deleteCount + call $~lib/array/Array#splice + ) (func $std/array/Ref#get:v (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -5568,14 +5700,14 @@ i32.const 100 i32.rem_u local.set $d2 - i32.const 6636 + i32.const 6700 local.get $d1 i32.const 2 i32.shl i32.add i64.load32_u $0 local.set $digits1 - i32.const 6636 + i32.const 6700 local.get $d2 i32.const 2 i32.shl @@ -5618,7 +5750,7 @@ i32.const 2 i32.sub local.set $offset - i32.const 6636 + i32.const 6700 local.get $d1|10 i32.const 2 i32.shl @@ -5641,7 +5773,7 @@ i32.const 2 i32.sub local.set $offset - i32.const 6636 + i32.const 6700 local.get $num i32.const 2 i32.shl @@ -5688,7 +5820,7 @@ i32.const 1 i32.shl i32.add - i32.const 7056 + i32.const 7120 local.get $num i32.wrap_i64 i32.const 255 @@ -5710,7 +5842,7 @@ i32.and if local.get $buffer - i32.const 7056 + i32.const 7120 local.get $num i32.wrap_i64 i32.const 6 @@ -5829,7 +5961,7 @@ i32.const 1 i32.shl i32.add - i32.const 8112 + i32.const 8176 local.get $num local.get $mask i64.and @@ -5863,7 +5995,7 @@ i32.const 1 i32.shl i32.add - i32.const 8112 + i32.const 8176 local.get $num local.get $q local.get $base @@ -10316,6 +10448,27 @@ local.get $this i32.load $0 offset=12 ) + (func $~lib/array/Array#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $start + local.get $end + call $~lib/array/Array#slice + ) (func $std/array/Dim#get:height (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -14036,7 +14189,7 @@ drop i32.const 1 drop - i32.const 10608 + i32.const 10672 br $~lib/util/sort/COMPARATOR<~lib/string/String|null>|inlined.0 end local.tee $comparator @@ -15103,7 +15256,7 @@ drop i32.const 1 drop - i32.const 10640 + i32.const 10704 br $~lib/util/sort/COMPARATOR<~lib/string/String>|inlined.0 end local.tee $comparator @@ -15611,7 +15764,7 @@ local.set $delta|21 local.get $tmp local.set $rest - i32.const 12304 + i32.const 12368 local.get $kappa i32.const 2 i32.shl @@ -15748,7 +15901,7 @@ i32.add global.set $~lib/util/number/_K local.get $wp_w_frc - i32.const 12304 + i32.const 12368 i32.const 0 local.get $kappa i32.sub @@ -16366,14 +16519,14 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 11432 + i32.const 11496 local.get $index i32.const 3 i32.shl i32.add i64.load $0 global.set $~lib/util/number/_frc_pow - i32.const 12128 + i32.const 12192 local.get $index i32.const 1 i32.shl @@ -16750,7 +16903,7 @@ return ) (func $std/array/Ref#toString (type $i32_=>_i32) (param $this i32) (result i32) - i32.const 12544 + i32.const 12608 ) (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) (local $ptr i32) @@ -17349,14 +17502,14 @@ i32.const 100 i32.rem_u local.set $c2 - i32.const 6636 + i32.const 6700 local.get $c1 i32.const 2 i32.shl i32.add i64.load32_u $0 local.set $digits1 - i32.const 6636 + i32.const 6700 local.get $c2 i32.const 2 i32.shl @@ -17378,14 +17531,14 @@ i64.shl i64.or i64.store $0 - i32.const 6636 + i32.const 6700 local.get $b1 i32.const 2 i32.shl i32.add i64.load32_u $0 local.set $digits1 - i32.const 6636 + i32.const 6700 local.get $b2 i32.const 2 i32.shl @@ -18110,10 +18263,10 @@ i32.const 128 local.get $0 call $~lib/rt/itcms/__visit - i32.const 7056 + i32.const 7120 local.get $0 call $~lib/rt/itcms/__visit - i32.const 8112 + i32.const 8176 local.get $0 call $~lib/rt/itcms/__visit ) @@ -19543,8 +19696,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 47904 - i32.const 47952 + i32.const 47968 + i32.const 48016 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -19603,7 +19756,7 @@ i32.const 4 i32.le_u drop - i32.const 10032 + i32.const 10096 br $~lib/util/sort/COMPARATOR|inlined.1 end local.set $1 @@ -19852,14 +20005,16 @@ i32.store $0 offset=8 local.get $6 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#slice@varargs local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store $0 local.get $6 - i32.const 10128 + i32.const 10192 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 @@ -21061,7 +21216,7 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 10480 + i32.const 10544 local.tee $result i32.store $0 i32.const 0 @@ -21512,7 +21667,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 @@ -21536,7 +21691,7 @@ local.get $value call $std/array/Ref#toString else - i32.const 10480 + i32.const 10544 end local.set $8 global.get $~lib/memory/__stack_pointer @@ -21547,7 +21702,7 @@ return end global.get $~lib/memory/__stack_pointer - i32.const 10480 + i32.const 10544 local.tee $result i32.store $0 offset=4 local.get $separator @@ -21662,7 +21817,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 @@ -21686,7 +21841,7 @@ local.get $value call $std/array/Ref#toString else - i32.const 10480 + i32.const 10544 end local.set $8 global.get $~lib/memory/__stack_pointer @@ -21697,7 +21852,7 @@ return end global.get $~lib/memory/__stack_pointer - i32.const 10480 + i32.const 10544 local.tee $result i32.store $0 offset=4 local.get $separator @@ -21797,7 +21952,7 @@ i32.const 0 i32.store $0 local.get $this - i32.const 10768 + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -21822,7 +21977,7 @@ i32.const 0 i32.store $0 local.get $this - i32.const 10768 + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -21847,7 +22002,7 @@ i32.const 0 i32.store $0 local.get $this - i32.const 10768 + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -21872,7 +22027,7 @@ i32.const 0 i32.store $0 local.get $this - i32.const 10768 + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -21897,7 +22052,7 @@ i32.const 0 i32.store $0 local.get $this - i32.const 10768 + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -21922,7 +22077,7 @@ i32.const 0 i32.store $0 local.get $this - i32.const 10768 + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -21947,7 +22102,7 @@ i32.const 0 i32.store $0 local.get $this - i32.const 10768 + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -21987,7 +22142,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 @@ -22011,7 +22166,7 @@ local.get $value call $~lib/array/Array#toString else - i32.const 10480 + i32.const 10544 end local.set $8 global.get $~lib/memory/__stack_pointer @@ -22022,7 +22177,7 @@ return end global.get $~lib/memory/__stack_pointer - i32.const 10480 + i32.const 10544 local.tee $result i32.store $0 offset=4 local.get $separator @@ -22122,7 +22277,7 @@ i32.const 0 i32.store $0 local.get $this - i32.const 10768 + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -22147,7 +22302,7 @@ i32.const 0 i32.store $0 local.get $this - i32.const 10768 + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -22187,7 +22342,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 @@ -22211,7 +22366,7 @@ local.get $value call $~lib/array/Array#toString else - i32.const 10480 + i32.const 10544 end local.set $8 global.get $~lib/memory/__stack_pointer @@ -22222,7 +22377,7 @@ return end global.get $~lib/memory/__stack_pointer - i32.const 10480 + i32.const 10544 local.tee $result i32.store $0 offset=4 local.get $separator @@ -22322,7 +22477,7 @@ i32.const 0 i32.store $0 local.get $this - i32.const 10768 + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -22347,7 +22502,7 @@ i32.const 0 i32.store $0 local.get $this - i32.const 10768 + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -22387,7 +22542,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 @@ -22411,7 +22566,7 @@ local.get $value call $~lib/array/Array#toString else - i32.const 10480 + i32.const 10544 end local.set $8 global.get $~lib/memory/__stack_pointer @@ -22422,7 +22577,7 @@ return end global.get $~lib/memory/__stack_pointer - i32.const 10480 + i32.const 10544 local.tee $result i32.store $0 offset=4 local.get $separator @@ -22522,7 +22677,7 @@ i32.const 0 i32.store $0 local.get $this - i32.const 10768 + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -22562,7 +22717,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 @@ -22586,7 +22741,7 @@ local.get $value call $~lib/array/Array<~lib/array/Array>#toString else - i32.const 10480 + i32.const 10544 end local.set $8 global.get $~lib/memory/__stack_pointer @@ -22597,7 +22752,7 @@ return end global.get $~lib/memory/__stack_pointer - i32.const 10480 + i32.const 10544 local.tee $result i32.store $0 offset=4 local.get $separator @@ -22697,7 +22852,7 @@ i32.const 0 i32.store $0 local.get $this - i32.const 10768 + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -23466,8 +23621,10 @@ local.get $2 i32.const 0 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#fill@varargs drop local.get $2 i32.const 5 @@ -23522,8 +23679,10 @@ local.get $2 i32.const 2 i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#fill@varargs drop local.get $2 i32.const 5 @@ -23578,8 +23737,10 @@ local.get $2 i32.const -1 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#fill@varargs drop local.get $2 i32.const 5 @@ -23642,8 +23803,10 @@ local.get $17 i32.const 0 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#fill@varargs drop local.get $17 i32.const 5 @@ -23698,8 +23861,10 @@ local.get $17 i32.const 2 i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#fill@varargs drop local.get $17 i32.const 5 @@ -23754,8 +23919,10 @@ local.get $17 i32.const -1 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#fill@varargs drop local.get $17 i32.const 5 @@ -23818,8 +23985,10 @@ local.get $32 f32.const 0 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#fill@varargs drop local.get $32 i32.const 5 @@ -23874,8 +24043,10 @@ local.get $32 f32.const 2 i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#fill@varargs drop local.get $32 i32.const 5 @@ -23930,8 +24101,10 @@ local.get $32 f32.const -1 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#fill@varargs drop local.get $32 i32.const 5 @@ -23958,8 +24131,10 @@ local.get $32 f32.const -0 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#fill + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#fill@varargs drop local.get $32 i32.const 5 @@ -24854,8 +25029,10 @@ local.get $63 i32.const 0 i32.const 3 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#copyWithin + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#copyWithin@varargs local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -24893,8 +25070,10 @@ local.get $63 i32.const 1 i32.const 3 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#copyWithin + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#copyWithin@varargs local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -24932,8 +25111,10 @@ local.get $63 i32.const 1 i32.const 2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#copyWithin + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#copyWithin@varargs local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -24971,8 +25152,10 @@ local.get $63 i32.const 2 i32.const 2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#copyWithin + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#copyWithin@varargs local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -25127,8 +25310,10 @@ local.get $63 i32.const 0 i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#copyWithin + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#copyWithin@varargs local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -25283,8 +25468,10 @@ local.get $63 i32.const -4 i32.const -3 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#copyWithin + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#copyWithin@varargs local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -25828,8 +26015,10 @@ global.get $~lib/memory/__stack_pointer local.get $113 i32.const 2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#slice@varargs local.tee $110 i32.store $0 offset=56 local.get $110 @@ -25915,8 +26104,10 @@ global.get $~lib/memory/__stack_pointer local.get $113 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#slice + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#slice@varargs local.tee $110 i32.store $0 offset=56 local.get $110 @@ -25935,8 +26126,10 @@ global.get $~lib/memory/__stack_pointer local.get $113 i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#slice@varargs local.tee $110 i32.store $0 offset=56 local.get $110 @@ -26042,8 +26235,10 @@ end local.get $113 i32.const 10 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#slice@varargs local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -27208,8 +27403,10 @@ i32.store $0 offset=88 local.get $170 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#splice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#splice@varargs local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -27328,8 +27525,10 @@ i32.store $0 offset=88 local.get $170 i32.const 2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#splice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#splice@varargs local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -27508,8 +27707,10 @@ i32.store $0 offset=88 local.get $170 i32.const -1 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#splice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#splice@varargs local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -27568,8 +27769,10 @@ i32.store $0 offset=88 local.get $170 i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/array/Array#splice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#splice@varargs local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28449,7 +28652,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 5584 + i32.const 5648 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28475,7 +28678,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 5616 + i32.const 5680 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28501,7 +28704,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 5648 + i32.const 5712 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28527,7 +28730,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 5680 + i32.const 5744 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28571,7 +28774,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 5712 + i32.const 5776 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28629,7 +28832,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 5744 + i32.const 5808 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28689,12 +28892,12 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 5776 + i32.const 5840 call $~lib/rt/__newArray local.tee $267 i32.store $0 offset=132 local.get $267 - i32.const 5824 + i32.const 5888 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28715,7 +28918,7 @@ unreachable end local.get $267 - i32.const 5856 + i32.const 5920 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28736,7 +28939,7 @@ unreachable end local.get $267 - i32.const 5888 + i32.const 5952 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28757,7 +28960,7 @@ unreachable end local.get $267 - i32.const 5920 + i32.const 5984 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28783,7 +28986,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 5952 + i32.const 6016 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28809,7 +29012,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 5984 + i32.const 6048 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28835,7 +29038,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 6016 + i32.const 6080 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28879,7 +29082,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 6048 + i32.const 6112 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28937,7 +29140,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 6080 + i32.const 6144 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -28999,7 +29202,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 6112 + i32.const 6176 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29025,7 +29228,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 6144 + i32.const 6208 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29051,7 +29254,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 6176 + i32.const 6240 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29095,7 +29298,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 6208 + i32.const 6272 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29153,7 +29356,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 6240 + i32.const 6304 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29217,7 +29420,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 6272 + i32.const 6336 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29244,7 +29447,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 6304 + i32.const 6368 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29289,7 +29492,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 6336 + i32.const 6400 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29348,7 +29551,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 6368 + i32.const 6432 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29409,7 +29612,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 6400 + i32.const 6464 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29499,7 +29702,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8208 + i32.const 8272 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29515,7 +29718,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8240 + i32.const 8304 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29567,7 +29770,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8272 + i32.const 8336 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29613,7 +29816,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8304 + i32.const 8368 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29673,7 +29876,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8336 + i32.const 8400 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29736,7 +29939,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8368 + i32.const 8432 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29766,7 +29969,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8400 + i32.const 8464 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29812,7 +30015,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8432 + i32.const 8496 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29872,7 +30075,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8464 + i32.const 8528 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29934,7 +30137,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8496 + i32.const 8560 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29961,7 +30164,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8528 + i32.const 8592 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -29988,7 +30191,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8560 + i32.const 8624 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -30017,7 +30220,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8592 + i32.const 8656 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -30046,7 +30249,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8624 + i32.const 8688 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -30091,7 +30294,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8656 + i32.const 8720 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -30150,7 +30353,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8688 + i32.const 8752 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -30213,7 +30416,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8720 + i32.const 8784 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -30240,7 +30443,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8752 + i32.const 8816 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -30267,7 +30470,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8784 + i32.const 8848 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -30296,7 +30499,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8816 + i32.const 8880 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -30325,7 +30528,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8848 + i32.const 8912 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -30370,7 +30573,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8880 + i32.const 8944 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -30429,7 +30632,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 8912 + i32.const 8976 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -30901,7 +31104,7 @@ i32.const 3 i32.const 2 i32.const 9 - i32.const 9136 + i32.const 9200 call $~lib/rt/__newArray local.tee $306 i32.store $0 offset=260 @@ -30915,7 +31118,7 @@ i32.const 3 i32.const 2 i32.const 9 - i32.const 9200 + i32.const 9264 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -30937,7 +31140,7 @@ i32.const 8 i32.const 2 i32.const 9 - i32.const 9232 + i32.const 9296 call $~lib/rt/__newArray local.tee $311 i32.store $0 offset=264 @@ -30951,7 +31154,7 @@ i32.const 8 i32.const 2 i32.const 9 - i32.const 9296 + i32.const 9360 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -30973,7 +31176,7 @@ i32.const 8 i32.const 3 i32.const 12 - i32.const 9360 + i32.const 9424 call $~lib/rt/__newArray local.tee $316 i32.store $0 offset=268 @@ -30987,7 +31190,7 @@ i32.const 8 i32.const 3 i32.const 12 - i32.const 9488 + i32.const 9552 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -31009,7 +31212,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 9584 + i32.const 9648 call $~lib/rt/__newArray local.tee $321 i32.store $0 offset=272 @@ -31023,7 +31226,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 9664 + i32.const 9728 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -31045,7 +31248,7 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 9712 + i32.const 9776 call $~lib/rt/__newArray local.tee $326 i32.store $0 offset=276 @@ -31059,7 +31262,7 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 9792 + i32.const 9856 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -31081,7 +31284,7 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 9840 + i32.const 9904 call $~lib/rt/__newArray local.tee $331 i32.store $0 offset=280 @@ -31089,7 +31292,7 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 9872 + i32.const 9936 call $~lib/rt/__newArray local.tee $334 i32.store $0 offset=284 @@ -31097,7 +31300,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 9904 + i32.const 9968 call $~lib/rt/__newArray local.tee $337 i32.store $0 offset=288 @@ -31105,7 +31308,7 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 9936 + i32.const 10000 call $~lib/rt/__newArray local.tee $340 i32.store $0 offset=292 @@ -31113,7 +31316,7 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 9984 + i32.const 10048 call $~lib/rt/__newArray local.tee $343 i32.store $0 offset=296 @@ -31150,7 +31353,7 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 10064 + i32.const 10128 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -31174,7 +31377,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 10096 + i32.const 10160 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -31281,7 +31484,7 @@ local.tee $354 i32.store $0 offset=324 local.get $353 - i32.const 10160 + i32.const 10224 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31289,7 +31492,7 @@ local.get $478 call $std/array/assertSorted local.get $353 - i32.const 10192 + i32.const 10256 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31297,7 +31500,7 @@ local.get $478 call $std/array/assertSorted local.get $354 - i32.const 10224 + i32.const 10288 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31305,7 +31508,7 @@ local.get $478 call $std/array/assertSorted local.get $354 - i32.const 10256 + i32.const 10320 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31318,7 +31521,7 @@ local.tee $355 i32.store $0 offset=328 local.get $355 - i32.const 10288 + i32.const 10352 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31331,7 +31534,7 @@ local.tee $356 i32.store $0 offset=332 local.get $356 - i32.const 10320 + i32.const 10384 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31342,7 +31545,7 @@ i32.const 7 i32.const 2 i32.const 34 - i32.const 10512 + i32.const 10576 call $~lib/rt/__newArray local.tee $359 i32.store $0 offset=336 @@ -31350,7 +31553,7 @@ i32.const 7 i32.const 2 i32.const 34 - i32.const 10560 + i32.const 10624 call $~lib/rt/__newArray local.tee $362 i32.store $0 offset=340 @@ -31385,14 +31588,14 @@ i32.const 2 i32.const 0 i32.const 37 - i32.const 10672 + i32.const 10736 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=348 local.get $478 - i32.const 10768 + i32.const 10832 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31404,7 +31607,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 10800 + i32.const 10864 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31423,14 +31626,14 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 10848 + i32.const 10912 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=348 local.get $478 - i32.const 10480 + i32.const 10544 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31442,7 +31645,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 10880 + i32.const 10944 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31461,14 +31664,14 @@ i32.const 3 i32.const 2 i32.const 8 - i32.const 10912 + i32.const 10976 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=348 local.get $478 - i32.const 10944 + i32.const 11008 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31480,7 +31683,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 10880 + i32.const 10944 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31499,14 +31702,14 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 10976 + i32.const 11040 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=348 local.get $478 - i32.const 11008 + i32.const 11072 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31518,7 +31721,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 11040 + i32.const 11104 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31537,14 +31740,14 @@ i32.const 6 i32.const 3 i32.const 12 - i32.const 11120 + i32.const 11184 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=348 local.get $478 - i32.const 11200 + i32.const 11264 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31556,7 +31759,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 12368 + i32.const 12432 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31575,14 +31778,14 @@ i32.const 3 i32.const 2 i32.const 34 - i32.const 12512 + i32.const 12576 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=348 local.get $478 - i32.const 10480 + i32.const 10544 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31594,7 +31797,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 12480 + i32.const 12544 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31644,7 +31847,7 @@ local.tee $378 i32.store $0 offset=364 local.get $378 - i32.const 10768 + i32.const 10832 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31656,7 +31859,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 12608 + i32.const 12672 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31702,7 +31905,7 @@ local.tee $381 i32.store $0 offset=376 local.get $381 - i32.const 10768 + i32.const 10832 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31714,7 +31917,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 12704 + i32.const 12768 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31734,7 +31937,7 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 12800 + i32.const 12864 call $~lib/rt/__newArray local.tee $384 i32.store $0 offset=380 @@ -31742,7 +31945,7 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 12832 + i32.const 12896 call $~lib/rt/__newArray local.tee $387 i32.store $0 offset=384 @@ -31750,7 +31953,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 12864 + i32.const 12928 call $~lib/rt/__newArray local.tee $390 i32.store $0 offset=388 @@ -31758,7 +31961,7 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 12896 + i32.const 12960 call $~lib/rt/__newArray local.tee $393 i32.store $0 offset=392 @@ -31769,7 +31972,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 10480 + i32.const 10544 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31792,7 +31995,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 12480 + i32.const 12544 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31815,7 +32018,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 12944 + i32.const 13008 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31838,7 +32041,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 12976 + i32.const 13040 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31857,7 +32060,7 @@ i32.const 3 i32.const 0 i32.const 38 - i32.const 13024 + i32.const 13088 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -31870,7 +32073,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 13056 + i32.const 13120 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31889,7 +32092,7 @@ i32.const 3 i32.const 0 i32.const 38 - i32.const 13088 + i32.const 13152 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -31902,7 +32105,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 13120 + i32.const 13184 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31921,7 +32124,7 @@ i32.const 3 i32.const 1 i32.const 11 - i32.const 13168 + i32.const 13232 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -31934,7 +32137,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 13200 + i32.const 13264 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31953,7 +32156,7 @@ i32.const 2 i32.const 1 i32.const 39 - i32.const 13248 + i32.const 13312 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -31966,7 +32169,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 13280 + i32.const 13344 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -31985,7 +32188,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 13328 + i32.const 13392 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -31998,7 +32201,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 13360 + i32.const 13424 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -32017,7 +32220,7 @@ i32.const 3 i32.const 3 i32.const 40 - i32.const 13424 + i32.const 13488 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -32030,7 +32233,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 13472 + i32.const 13536 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -32049,7 +32252,7 @@ i32.const 5 i32.const 3 i32.const 41 - i32.const 13552 + i32.const 13616 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -32062,7 +32265,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 13616 + i32.const 13680 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -32082,7 +32285,7 @@ i32.const 7 i32.const 2 i32.const 34 - i32.const 13776 + i32.const 13840 call $~lib/rt/__newArray local.tee $410 i32.store $0 offset=396 @@ -32093,7 +32296,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 13824 + i32.const 13888 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -32112,7 +32315,7 @@ i32.const 4 i32.const 2 i32.const 34 - i32.const 13936 + i32.const 14000 call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer @@ -32125,7 +32328,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 13984 + i32.const 14048 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -32160,7 +32363,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 14016 + i32.const 14080 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset local.get $413 @@ -32168,7 +32371,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 14048 + i32.const 14112 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset local.get $413 @@ -32181,7 +32384,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 14080 + i32.const 14144 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -32216,7 +32419,7 @@ i32.const 2 i32.const 0 i32.const 7 - i32.const 14128 + i32.const 14192 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset local.get $420 @@ -32224,7 +32427,7 @@ i32.const 2 i32.const 0 i32.const 7 - i32.const 14160 + i32.const 14224 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset local.get $420 @@ -32237,7 +32440,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 14080 + i32.const 14144 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -32287,7 +32490,7 @@ i32.const 1 i32.const 2 i32.const 8 - i32.const 14192 + i32.const 14256 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset local.get $429 @@ -32302,7 +32505,7 @@ local.get $478 i32.store $0 local.get $478 - i32.const 12480 + i32.const 12544 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -32337,7 +32540,7 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 14224 + i32.const 14288 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset local.get $434 @@ -32345,7 +32548,7 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 14256 + i32.const 14320 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset local.get $434 @@ -32353,7 +32556,7 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 14288 + i32.const 14352 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset local.get $434 @@ -32361,7 +32564,7 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 14320 + i32.const 14384 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset local.get $434 @@ -32432,7 +32635,7 @@ i32.const 1 i32.const 2 i32.const 34 - i32.const 14384 + i32.const 14448 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset local.get $447 @@ -32440,7 +32643,7 @@ i32.const 3 i32.const 2 i32.const 34 - i32.const 14480 + i32.const 14544 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset local.get $447 @@ -32448,7 +32651,7 @@ i32.const 3 i32.const 2 i32.const 34 - i32.const 14608 + i32.const 14672 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset local.get $447 @@ -32456,7 +32659,7 @@ i32.const 1 i32.const 2 i32.const 34 - i32.const 14672 + i32.const 14736 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset local.get $447 @@ -32471,7 +32674,7 @@ i32.const 8 i32.const 2 i32.const 34 - i32.const 14704 + i32.const 14768 call $~lib/rt/__newArray local.tee $461 i32.store $0 offset=476 @@ -32548,7 +32751,7 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 14768 + i32.const 14832 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset local.get $463 @@ -32556,7 +32759,7 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 14800 + i32.const 14864 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset local.get $463 @@ -32600,7 +32803,7 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 14832 + i32.const 14896 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset local.get $470 @@ -32608,7 +32811,7 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 14864 + i32.const 14928 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__uset local.get $470 @@ -32616,7 +32819,7 @@ i32.store $0 offset=500 global.get $~lib/memory/__stack_pointer local.get $476 - i32.const 14896 + i32.const 14960 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 @@ -33747,8 +33950,8 @@ i32.gt_s end if - i32.const 6432 - i32.const 6560 + i32.const 6496 + i32.const 6624 i32.const 373 i32.const 5 call $~lib/builtins/abort @@ -33757,7 +33960,7 @@ local.get $value i32.eqz if - i32.const 6624 + i32.const 6688 local.set $14 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -34330,7 +34533,7 @@ i32.const 4 i32.eq drop - i32.const 9168 + i32.const 9232 br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator @@ -34374,7 +34577,7 @@ i32.const 4 i32.eq drop - i32.const 9456 + i32.const 9520 br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator @@ -34416,7 +34619,7 @@ i32.const 4 i32.le_u drop - i32.const 9632 + i32.const 9696 br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator @@ -34456,7 +34659,7 @@ drop i32.const 0 drop - i32.const 9760 + i32.const 9824 br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator @@ -35309,7 +35512,7 @@ call $~lib/string/String#get:length i32.ge_u if - i32.const 10480 + i32.const 10544 local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -35372,7 +35575,7 @@ i32.const 0 i32.eq if - i32.const 10480 + i32.const 10544 local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -35554,7 +35757,7 @@ local.get $size i32.eqz if - i32.const 10480 + i32.const 10544 local.set $22 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -35630,7 +35833,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -35642,8 +35845,8 @@ local.get $lastIndex i32.eqz if - i32.const 10704 - i32.const 10736 + i32.const 10768 + i32.const 10800 local.get $dataStart i32.load8_u $0 select @@ -35700,8 +35903,8 @@ i32.const 1 i32.shl i32.add - i32.const 10704 - i32.const 10736 + i32.const 10768 + i32.const 10800 local.get $value select local.get $valueLen @@ -35751,8 +35954,8 @@ i32.const 1 i32.shl i32.add - i32.const 10704 - i32.const 10736 + i32.const 10768 + i32.const 10800 local.get $value select local.get $valueLen @@ -35813,7 +36016,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -35986,8 +36189,8 @@ i32.gt_s end if - i32.const 6432 - i32.const 6560 + i32.const 6496 + i32.const 6624 i32.const 350 i32.const 5 call $~lib/builtins/abort @@ -35996,7 +36199,7 @@ local.get $value i32.eqz if - i32.const 6624 + i32.const 6688 local.set $12 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -36127,7 +36330,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -36285,7 +36488,7 @@ f64.const 0 f64.eq if - i32.const 11232 + i32.const 11296 local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -36305,7 +36508,7 @@ local.get $value f64.ne if - i32.const 11264 + i32.const 11328 local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -36314,8 +36517,8 @@ local.get $3 return end - i32.const 11296 - i32.const 11344 + i32.const 11360 + i32.const 11408 local.get $value f64.const 0 f64.lt @@ -36328,7 +36531,7 @@ local.get $3 return end - i32.const 11376 + i32.const 11440 local.get $value call $~lib/util/number/dtoa_core i32.const 1 @@ -36341,7 +36544,7 @@ local.tee $result i32.store $0 local.get $result - i32.const 11376 + i32.const 11440 local.get $size memory.copy $0 $0 local.get $result @@ -36377,7 +36580,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -36541,7 +36744,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $13 global.get $~lib/memory/__stack_pointer i32.const 12 @@ -36562,7 +36765,7 @@ if (result i32) local.get $4 else - i32.const 10480 + i32.const 10544 end local.set $13 global.get $~lib/memory/__stack_pointer @@ -36745,7 +36948,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -36913,7 +37116,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -37081,7 +37284,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -37259,8 +37462,8 @@ i32.gt_s end if - i32.const 6432 - i32.const 6560 + i32.const 6496 + i32.const 6624 i32.const 401 i32.const 5 call $~lib/builtins/abort @@ -37271,7 +37474,7 @@ i64.ne i32.eqz if - i32.const 6624 + i32.const 6688 local.set $17 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -37435,7 +37638,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -37614,8 +37817,8 @@ i32.gt_s end if - i32.const 6432 - i32.const 6560 + i32.const 6496 + i32.const 6624 i32.const 431 i32.const 5 call $~lib/builtins/abort @@ -37626,7 +37829,7 @@ i64.ne i32.eqz if - i32.const 6624 + i32.const 6688 local.set $18 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -37826,7 +38029,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -37996,7 +38199,7 @@ i32.const 0 i32.lt_s if - i32.const 10480 + i32.const 10544 local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/std/array.release.wat b/tests/compiler/std/array.release.wat index 648cec6a32..504fec1e6e 100644 --- a/tests/compiler/std/array.release.wat +++ b/tests/compiler/std/array.release.wat @@ -19,6 +19,7 @@ (type $i32_i64_=>_i32 (func_subtype (param i32 i64) (result i32) func)) (type $i32_f32_i32_i32_=>_none (func_subtype (param i32 f32 i32 i32) func)) (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) + (type $i32_f32_i32_=>_none (func_subtype (param i32 f32 i32) func)) (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) (type $i32_i64_i64_i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i64 i32 i64 i32) (result i32) func)) (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) @@ -36,8 +37,8 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $std/array/arr (mut i32) (i32.const 0)) - (global $std/array/i (mut i32) (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) + (global $std/array/i (mut i32) (i32.const 0)) (global $~lib/math/random_state0_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_seeded (mut i32) (i32.const 0)) @@ -49,7 +50,7 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 48896)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 48960)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) ",") @@ -298,362 +299,362 @@ (data (i32.const 6376) "\01") (data (i32.const 6396) "|") (data (i32.const 6408) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 6524) "<") - (data (i32.const 6536) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") - (data (i32.const 6588) "\1c") - (data (i32.const 6600) "\0e\00\00\00\08\00\00\00\01") - (data (i32.const 6620) "\1c") - (data (i32.const 6632) "\0e\00\00\00\08\00\00\00\02") + (data (i32.const 6524) "|") + (data (i32.const 6536) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") (data (i32.const 6652) "\1c") - (data (i32.const 6664) "\0e\00\00\00\08\00\00\00\03") + (data (i32.const 6664) "\0e\00\00\00\08\00\00\00\01") (data (i32.const 6684) "\1c") - (data (i32.const 6696) "\0e\00\00\00\08\00\00\00\04") + (data (i32.const 6696) "\0e\00\00\00\08\00\00\00\02") (data (i32.const 6716) "\1c") - (data (i32.const 6728) "\0e\00\00\00\08\00\00\00\05") + (data (i32.const 6728) "\0e\00\00\00\08\00\00\00\03") (data (i32.const 6748) "\1c") - (data (i32.const 6760) "\0e\00\00\00\08\00\00\00\06") - (data (i32.const 6780) ",") - (data (i32.const 6792) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 6828) "\1c") - (data (i32.const 6840) "\0e\00\00\00\08\00\00\00\07") - (data (i32.const 6860) "\1c") - (data (i32.const 6872) "\0e\00\00\00\08\00\00\00\08") + (data (i32.const 6760) "\0e\00\00\00\08\00\00\00\04") + (data (i32.const 6780) "\1c") + (data (i32.const 6792) "\0e\00\00\00\08\00\00\00\05") + (data (i32.const 6812) "\1c") + (data (i32.const 6824) "\0e\00\00\00\08\00\00\00\06") + (data (i32.const 6844) ",") + (data (i32.const 6856) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 6892) "\1c") - (data (i32.const 6904) "\0e\00\00\00\08\00\00\00\t") + (data (i32.const 6904) "\0e\00\00\00\08\00\00\00\07") (data (i32.const 6924) "\1c") - (data (i32.const 6936) "\0e\00\00\00\08\00\00\00\n") + (data (i32.const 6936) "\0e\00\00\00\08\00\00\00\08") (data (i32.const 6956) "\1c") - (data (i32.const 6968) "\0e\00\00\00\08\00\00\00\0b") + (data (i32.const 6968) "\0e\00\00\00\08\00\00\00\t") (data (i32.const 6988) "\1c") - (data (i32.const 7000) "\0e\00\00\00\08\00\00\00\0c") + (data (i32.const 7000) "\0e\00\00\00\08\00\00\00\n") (data (i32.const 7020) "\1c") - (data (i32.const 7032) "\0e\00\00\00\08\00\00\00\r") + (data (i32.const 7032) "\0e\00\00\00\08\00\00\00\0b") (data (i32.const 7052) "\1c") - (data (i32.const 7064) "\0e\00\00\00\08\00\00\00\0e") + (data (i32.const 7064) "\0e\00\00\00\08\00\00\00\0c") (data (i32.const 7084) "\1c") - (data (i32.const 7096) "\0e\00\00\00\08\00\00\00\0f") + (data (i32.const 7096) "\0e\00\00\00\08\00\00\00\r") (data (i32.const 7116) "\1c") - (data (i32.const 7128) "\0e\00\00\00\08\00\00\00\10") + (data (i32.const 7128) "\0e\00\00\00\08\00\00\00\0e") (data (i32.const 7148) "\1c") - (data (i32.const 7160) "\0e\00\00\00\08\00\00\00\11") + (data (i32.const 7160) "\0e\00\00\00\08\00\00\00\0f") (data (i32.const 7180) "\1c") - (data (i32.const 7192) "\0e\00\00\00\08\00\00\00\12") + (data (i32.const 7192) "\0e\00\00\00\08\00\00\00\10") (data (i32.const 7212) "\1c") - (data (i32.const 7224) "\0e\00\00\00\08\00\00\00\13") + (data (i32.const 7224) "\0e\00\00\00\08\00\00\00\11") (data (i32.const 7244) "\1c") - (data (i32.const 7256) "\0e\00\00\00\08\00\00\00\14") + (data (i32.const 7256) "\0e\00\00\00\08\00\00\00\12") (data (i32.const 7276) "\1c") - (data (i32.const 7288) "\0f\00\00\00\08\00\00\00\15") + (data (i32.const 7288) "\0e\00\00\00\08\00\00\00\13") (data (i32.const 7308) "\1c") - (data (i32.const 7320) "\0f\00\00\00\08\00\00\00\16") + (data (i32.const 7320) "\0e\00\00\00\08\00\00\00\14") (data (i32.const 7340) "\1c") - (data (i32.const 7352) "\0f\00\00\00\08\00\00\00\17") + (data (i32.const 7352) "\0f\00\00\00\08\00\00\00\15") (data (i32.const 7372) "\1c") - (data (i32.const 7384) "\0f\00\00\00\08\00\00\00\18") + (data (i32.const 7384) "\0f\00\00\00\08\00\00\00\16") (data (i32.const 7404) "\1c") - (data (i32.const 7416) "\0f\00\00\00\08\00\00\00\19") - (data (i32.const 7436) "|") - (data (i32.const 7448) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 7564) "<") - (data (i32.const 7576) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 7628) "\1c") - (data (i32.const 7640) "\02\00\00\00\02\00\00\000") - (data (i32.const 7660) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 8060) "\1c\04") - (data (i32.const 8072) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 9116) "\\") - (data (i32.const 9128) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z") - (data (i32.const 9212) "\1c") - (data (i32.const 9224) "\11\00\00\00\08\00\00\00\1a") - (data (i32.const 9244) "\1c") - (data (i32.const 9256) "\12\00\00\00\08\00\00\00\1b") + (data (i32.const 7416) "\0f\00\00\00\08\00\00\00\17") + (data (i32.const 7436) "\1c") + (data (i32.const 7448) "\0f\00\00\00\08\00\00\00\18") + (data (i32.const 7468) "\1c") + (data (i32.const 7480) "\0f\00\00\00\08\00\00\00\19") + (data (i32.const 7500) "|") + (data (i32.const 7512) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data (i32.const 7628) "<") + (data (i32.const 7640) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data (i32.const 7692) "\1c") + (data (i32.const 7704) "\02\00\00\00\02\00\00\000") + (data (i32.const 7724) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data (i32.const 8124) "\1c\04") + (data (i32.const 8136) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data (i32.const 9180) "\\") + (data (i32.const 9192) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z") (data (i32.const 9276) "\1c") - (data (i32.const 9288) "\13\00\00\00\08\00\00\00\1c") + (data (i32.const 9288) "\11\00\00\00\08\00\00\00\1a") (data (i32.const 9308) "\1c") - (data (i32.const 9320) "\13\00\00\00\08\00\00\00\1d") + (data (i32.const 9320) "\12\00\00\00\08\00\00\00\1b") (data (i32.const 9340) "\1c") - (data (i32.const 9352) "\13\00\00\00\08\00\00\00\1e") + (data (i32.const 9352) "\13\00\00\00\08\00\00\00\1c") (data (i32.const 9372) "\1c") - (data (i32.const 9384) "\0e\00\00\00\08\00\00\00\1f") + (data (i32.const 9384) "\13\00\00\00\08\00\00\00\1d") (data (i32.const 9404) "\1c") - (data (i32.const 9416) "\0e\00\00\00\08\00\00\00 ") + (data (i32.const 9416) "\13\00\00\00\08\00\00\00\1e") (data (i32.const 9436) "\1c") - (data (i32.const 9448) "\0e\00\00\00\08\00\00\00!") + (data (i32.const 9448) "\0e\00\00\00\08\00\00\00\1f") (data (i32.const 9468) "\1c") - (data (i32.const 9480) "\0e\00\00\00\08\00\00\00\"") + (data (i32.const 9480) "\0e\00\00\00\08\00\00\00 ") (data (i32.const 9500) "\1c") - (data (i32.const 9512) "\14\00\00\00\08\00\00\00#") + (data (i32.const 9512) "\0e\00\00\00\08\00\00\00!") (data (i32.const 9532) "\1c") - (data (i32.const 9544) "\14\00\00\00\08\00\00\00$") + (data (i32.const 9544) "\0e\00\00\00\08\00\00\00\"") (data (i32.const 9564) "\1c") - (data (i32.const 9576) "\15\00\00\00\08\00\00\00%") + (data (i32.const 9576) "\14\00\00\00\08\00\00\00#") (data (i32.const 9596) "\1c") - (data (i32.const 9608) "\15\00\00\00\08\00\00\00&") + (data (i32.const 9608) "\14\00\00\00\08\00\00\00$") (data (i32.const 9628) "\1c") - (data (i32.const 9640) "\14\00\00\00\08\00\00\00\'") + (data (i32.const 9640) "\15\00\00\00\08\00\00\00%") (data (i32.const 9660) "\1c") - (data (i32.const 9672) "\14\00\00\00\08\00\00\00(") + (data (i32.const 9672) "\15\00\00\00\08\00\00\00&") (data (i32.const 9692) "\1c") - (data (i32.const 9704) "\14\00\00\00\08\00\00\00)") + (data (i32.const 9704) "\14\00\00\00\08\00\00\00\'") (data (i32.const 9724) "\1c") - (data (i32.const 9736) "\14\00\00\00\08\00\00\00*") + (data (i32.const 9736) "\14\00\00\00\08\00\00\00(") (data (i32.const 9756) "\1c") - (data (i32.const 9768) "\14\00\00\00\08\00\00\00+") + (data (i32.const 9768) "\14\00\00\00\08\00\00\00)") (data (i32.const 9788) "\1c") - (data (i32.const 9800) "\15\00\00\00\08\00\00\00,") + (data (i32.const 9800) "\14\00\00\00\08\00\00\00*") (data (i32.const 9820) "\1c") - (data (i32.const 9832) "\15\00\00\00\08\00\00\00-") + (data (i32.const 9832) "\14\00\00\00\08\00\00\00+") (data (i32.const 9852) "\1c") - (data (i32.const 9864) "\14\00\00\00\08\00\00\00.") + (data (i32.const 9864) "\15\00\00\00\08\00\00\00,") (data (i32.const 9884) "\1c") - (data (i32.const 9896) "\14\00\00\00\08\00\00\00/") + (data (i32.const 9896) "\15\00\00\00\08\00\00\00-") (data (i32.const 9916) "\1c") - (data (i32.const 9928) "\14\00\00\00\08\00\00\000") - (data (i32.const 9948) "\bc") - (data (i32.const 9960) "\02\00\00\00\ac\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") - (data (i32.const 10140) "\1c") - (data (i32.const 10152) "\01\00\00\00\0c\00\00\00\00\00\00@\00\00\80\bf") - (data (i32.const 10172) "\1c") - (data (i32.const 10184) "\18\00\00\00\08\00\00\001") + (data (i32.const 9928) "\14\00\00\00\08\00\00\00.") + (data (i32.const 9948) "\1c") + (data (i32.const 9960) "\14\00\00\00\08\00\00\00/") + (data (i32.const 9980) "\1c") + (data (i32.const 9992) "\14\00\00\00\08\00\00\000") + (data (i32.const 10012) "\bc") + (data (i32.const 10024) "\02\00\00\00\ac\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") (data (i32.const 10204) "\1c") - (data (i32.const 10216) "\01\00\00\00\0c\00\00\00\00\00\80\bf\00\00\00\00\00\00\00@") - (data (i32.const 10236) "<") - (data (i32.const 10248) "\01\00\00\00 \00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data (i32.const 10216) "\01\00\00\00\0c\00\00\00\00\00\00@\00\00\80\bf") + (data (i32.const 10236) "\1c") + (data (i32.const 10248) "\18\00\00\00\08\00\00\001") + (data (i32.const 10268) "\1c") + (data (i32.const 10280) "\01\00\00\00\0c\00\00\00\00\00\80\bf\00\00\00\00\00\00\00@") (data (i32.const 10300) "<") - (data (i32.const 10312) "\01\00\00\00 \00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") - (data (i32.const 10364) "\\") - (data (i32.const 10376) "\01\00\00\00@") - (data (i32.const 10390) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") - (data (i32.const 10430) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 10460) "\1c") - (data (i32.const 10472) "\19\00\00\00\08\00\00\002") - (data (i32.const 10492) "\\") - (data (i32.const 10504) "\01\00\00\00@") - (data (i32.const 10518) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") - (data (i32.const 10550) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") - (data (i32.const 10588) ",") - (data (i32.const 10600) "\01\00\00\00\14\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") - (data (i32.const 10636) "\1c") - (data (i32.const 10648) "\1a\00\00\00\08\00\00\003") - (data (i32.const 10668) ",") - (data (i32.const 10680) "\01\00\00\00\14\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") - (data (i32.const 10716) ",") - (data (i32.const 10728) "\01\00\00\00\14\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") - (data (i32.const 10764) "\1c") - (data (i32.const 10776) "\1b\00\00\00\08\00\00\004") - (data (i32.const 10796) ",") - (data (i32.const 10808) "\01\00\00\00\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 10844) "\1c") - (data (i32.const 10856) "\01") - (data (i32.const 10876) "\1c") - (data (i32.const 10888) "\01\00\00\00\04\00\00\00\01") + (data (i32.const 10312) "\01\00\00\00 \00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data (i32.const 10364) "<") + (data (i32.const 10376) "\01\00\00\00 \00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") + (data (i32.const 10428) "\\") + (data (i32.const 10440) "\01\00\00\00@") + (data (i32.const 10454) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") + (data (i32.const 10494) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data (i32.const 10524) "\1c") + (data (i32.const 10536) "\19\00\00\00\08\00\00\002") + (data (i32.const 10556) "\\") + (data (i32.const 10568) "\01\00\00\00@") + (data (i32.const 10582) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") + (data (i32.const 10614) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") + (data (i32.const 10652) ",") + (data (i32.const 10664) "\01\00\00\00\14\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") + (data (i32.const 10700) "\1c") + (data (i32.const 10712) "\1a\00\00\00\08\00\00\003") + (data (i32.const 10732) ",") + (data (i32.const 10744) "\01\00\00\00\14\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") + (data (i32.const 10780) ",") + (data (i32.const 10792) "\01\00\00\00\14\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") + (data (i32.const 10828) "\1c") + (data (i32.const 10840) "\1b\00\00\00\08\00\00\004") + (data (i32.const 10860) ",") + (data (i32.const 10872) "\01\00\00\00\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") (data (i32.const 10908) "\1c") - (data (i32.const 10920) "\01\00\00\00\08\00\00\00\02\00\00\00\01") - (data (i32.const 10940) ",") - (data (i32.const 10952) "\01\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01") - (data (i32.const 10988) ",") - (data (i32.const 11000) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 11036) "\1c") - (data (i32.const 11048) "\1a\00\00\00\08\00\00\005") - (data (i32.const 11068) "\1c") - (data (i32.const 11080) "\01\00\00\00\04\00\00\00\01") + (data (i32.const 10920) "\01") + (data (i32.const 10940) "\1c") + (data (i32.const 10952) "\01\00\00\00\04\00\00\00\01") + (data (i32.const 10972) "\1c") + (data (i32.const 10984) "\01\00\00\00\08\00\00\00\02\00\00\00\01") + (data (i32.const 11004) ",") + (data (i32.const 11016) "\01\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01") + (data (i32.const 11052) ",") + (data (i32.const 11064) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 11100) "\1c") - (data (i32.const 11112) "\01\00\00\00\08\00\00\00\01\00\00\00\02") + (data (i32.const 11112) "\1a\00\00\00\08\00\00\005") (data (i32.const 11132) "\1c") - (data (i32.const 11144) "\1c\00\00\00\08\00\00\006") + (data (i32.const 11144) "\01\00\00\00\04\00\00\00\01") (data (i32.const 11164) "\1c") - (data (i32.const 11176) "\1a\00\00\00\08\00\00\007") + (data (i32.const 11176) "\01\00\00\00\08\00\00\00\01\00\00\00\02") (data (i32.const 11196) "\1c") - (data (i32.const 11208) "\1a\00\00\00\08\00\00\008") + (data (i32.const 11208) "\1c\00\00\00\08\00\00\006") (data (i32.const 11228) "\1c") - (data (i32.const 11240) "\1a\00\00\00\08\00\00\009") + (data (i32.const 11240) "\1a\00\00\00\08\00\00\007") (data (i32.const 11260) "\1c") - (data (i32.const 11272) "\1a\00\00\00\08\00\00\00:") + (data (i32.const 11272) "\1a\00\00\00\08\00\00\008") (data (i32.const 11292) "\1c") - (data (i32.const 11304) "\1e\00\00\00\08\00\00\00;") + (data (i32.const 11304) "\1a\00\00\00\08\00\00\009") (data (i32.const 11324) "\1c") - (data (i32.const 11336) "!\00\00\00\08\00\00\00<") + (data (i32.const 11336) "\1a\00\00\00\08\00\00\00:") (data (i32.const 11356) "\1c") - (data (i32.const 11368) "\02\00\00\00\02\00\00\00a") + (data (i32.const 11368) "\1e\00\00\00\08\00\00\00;") (data (i32.const 11388) "\1c") - (data (i32.const 11400) "\02\00\00\00\02\00\00\00b") + (data (i32.const 11400) "!\00\00\00\08\00\00\00<") (data (i32.const 11420) "\1c") - (data (i32.const 11432) "\02\00\00\00\04\00\00\00a\00b") + (data (i32.const 11432) "\02\00\00\00\02\00\00\00a") (data (i32.const 11452) "\1c") - (data (i32.const 11464) "\02\00\00\00\04\00\00\00b\00a") + (data (i32.const 11464) "\02\00\00\00\02\00\00\00b") (data (i32.const 11484) "\1c") - (data (i32.const 11496) "\02") - (data (i32.const 11516) ",") - (data (i32.const 11528) "\01\00\00\00\1c\00\00\00p,\00\00\90,\00\00p,\00\00\b0,\00\00\d0,\00\00\f0,") - (data (i32.const 11564) ",") - (data (i32.const 11576) "\01\00\00\00\1c\00\00\00\f0,\00\00p,\00\00p,\00\00\b0,\00\00\90,\00\00\d0,") - (data (i32.const 11612) "\1c") - (data (i32.const 11624) "#\00\00\00\08\00\00\00=") - (data (i32.const 11644) "\1c") - (data (i32.const 11656) "$\00\00\00\08\00\00\00>") + (data (i32.const 11496) "\02\00\00\00\04\00\00\00a\00b") + (data (i32.const 11516) "\1c") + (data (i32.const 11528) "\02\00\00\00\04\00\00\00b\00a") + (data (i32.const 11548) "\1c") + (data (i32.const 11560) "\02") + (data (i32.const 11580) ",") + (data (i32.const 11592) "\01\00\00\00\1c\00\00\00\b0,\00\00\d0,\00\00\b0,\00\00\f0,\00\00\10-\00\000-") + (data (i32.const 11628) ",") + (data (i32.const 11640) "\01\00\00\00\1c\00\00\000-\00\00\b0,\00\00\b0,\00\00\f0,\00\00\d0,\00\00\10-") (data (i32.const 11676) "\1c") - (data (i32.const 11688) "\01\00\00\00\02\00\00\00\01") + (data (i32.const 11688) "#\00\00\00\08\00\00\00=") (data (i32.const 11708) "\1c") - (data (i32.const 11720) "\02\00\00\00\08\00\00\00t\00r\00u\00e") + (data (i32.const 11720) "$\00\00\00\08\00\00\00>") (data (i32.const 11740) "\1c") - (data (i32.const 11752) "\02\00\00\00\n\00\00\00f\00a\00l\00s\00e") + (data (i32.const 11752) "\01\00\00\00\02\00\00\00\01") (data (i32.const 11772) "\1c") - (data (i32.const 11784) "\02\00\00\00\02\00\00\00,") - (data (i32.const 11804) ",") - (data (i32.const 11816) "\02\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") - (data (i32.const 11852) "\1c") - (data (i32.const 11864) "\01\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 11884) "\1c") - (data (i32.const 11896) "\02\00\00\00\n\00\00\001\00-\002\00-\003") + (data (i32.const 11784) "\02\00\00\00\08\00\00\00t\00r\00u\00e") + (data (i32.const 11804) "\1c") + (data (i32.const 11816) "\02\00\00\00\n\00\00\00f\00a\00l\00s\00e") + (data (i32.const 11836) "\1c") + (data (i32.const 11848) "\02\00\00\00\02\00\00\00,") + (data (i32.const 11868) ",") + (data (i32.const 11880) "\02\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") (data (i32.const 11916) "\1c") - (data (i32.const 11928) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 11928) "\01\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") (data (i32.const 11948) "\1c") - (data (i32.const 11960) "\02\00\00\00\02\00\00\00-") + (data (i32.const 11960) "\02\00\00\00\n\00\00\001\00-\002\00-\003") (data (i32.const 11980) "\1c") - (data (i32.const 11992) "\01\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 11992) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 12012) "\1c") - (data (i32.const 12024) "\02\00\00\00\04\00\00\00_\00_") - (data (i32.const 12044) "L") - (data (i32.const 12056) "\02\00\00\000\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 12124) "L") - (data (i32.const 12136) "\01\00\00\000") - (data (i32.const 12158) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 12204) "\1c") - (data (i32.const 12216) "\02\00\00\00\04\00\00\00,\00 ") - (data (i32.const 12236) "\1c") - (data (i32.const 12248) "\02\00\00\00\06\00\00\000\00.\000") + (data (i32.const 12024) "\02\00\00\00\02\00\00\00-") + (data (i32.const 12044) "\1c") + (data (i32.const 12056) "\01\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 12076) "\1c") + (data (i32.const 12088) "\02\00\00\00\04\00\00\00_\00_") + (data (i32.const 12108) "L") + (data (i32.const 12120) "\02\00\00\000\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") + (data (i32.const 12188) "L") + (data (i32.const 12200) "\01\00\00\000") + (data (i32.const 12222) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") (data (i32.const 12268) "\1c") - (data (i32.const 12280) "\02\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 12300) ",") - (data (i32.const 12312) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 12348) ",") - (data (i32.const 12360) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 12456) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]") - (data (i32.const 13804) "\1c") - (data (i32.const 13816) "\01") - (data (i32.const 13836) "\1c") - (data (i32.const 13848) "\01\00\00\00\04\00\00\00\01") + (data (i32.const 12280) "\02\00\00\00\04\00\00\00,\00 ") + (data (i32.const 12300) "\1c") + (data (i32.const 12312) "\02\00\00\00\06\00\00\000\00.\000") + (data (i32.const 12332) "\1c") + (data (i32.const 12344) "\02\00\00\00\06\00\00\00N\00a\00N") + (data (i32.const 12364) ",") + (data (i32.const 12376) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 12412) ",") + (data (i32.const 12424) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 12520) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]") (data (i32.const 13868) "\1c") - (data (i32.const 13880) "\01\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 13900) ",") - (data (i32.const 13912) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 13948) "\1c") - (data (i32.const 13960) "\02\00\00\00\06\00\00\001\00,\002") - (data (i32.const 13980) ",") - (data (i32.const 13992) "\02\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003") - (data (i32.const 14028) "\1c") - (data (i32.const 14040) "\01\00\00\00\03\00\00\00\01\ff") - (data (i32.const 14060) "\1c") - (data (i32.const 14072) "\02\00\00\00\0c\00\00\001\00,\00-\001\00,\000") + (data (i32.const 13880) "\01") + (data (i32.const 13900) "\1c") + (data (i32.const 13912) "\01\00\00\00\04\00\00\00\01") + (data (i32.const 13932) "\1c") + (data (i32.const 13944) "\01\00\00\00\08\00\00\00\01\00\00\00\02") + (data (i32.const 13964) ",") + (data (i32.const 13976) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 14012) "\1c") + (data (i32.const 14024) "\02\00\00\00\06\00\00\001\00,\002") + (data (i32.const 14044) ",") + (data (i32.const 14056) "\02\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003") (data (i32.const 14092) "\1c") - (data (i32.const 14104) "\01\00\00\00\03\00\00\00\80\81\80") - (data (i32.const 14124) ",") - (data (i32.const 14136) "\02\00\00\00\1c\00\00\00-\001\002\008\00,\00-\001\002\007\00,\00-\001\002\008") - (data (i32.const 14172) "\1c") - (data (i32.const 14184) "\01\00\00\00\06\00\00\00\01\00\ff\ff") - (data (i32.const 14204) ",") - (data (i32.const 14216) "\02\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000") - (data (i32.const 14252) "\1c") - (data (i32.const 14264) "\01\00\00\00\04\00\00\00\00\80\01\ff") - (data (i32.const 14284) ",") - (data (i32.const 14296) "\02\00\00\00\16\00\00\00-\003\002\007\006\008\00,\00-\002\005\005") - (data (i32.const 14332) "\1c") - (data (i32.const 14344) "\01\00\00\00\08\00\00\00\00\00\00\80\80\ff\ff\ff") - (data (i32.const 14364) "<") - (data (i32.const 14376) "\02\00\00\00 \00\00\00-\002\001\004\007\004\008\003\006\004\008\00,\00-\001\002\008") - (data (i32.const 14428) ",") - (data (i32.const 14440) "\01\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 14476) "L") - (data (i32.const 14488) "\02\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000") - (data (i32.const 14556) "<") - (data (i32.const 14568) "\01\00\00\00(\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f") - (data (i32.const 14620) "\9c") - (data (i32.const 14632) "\02\00\00\00~\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") - (data (i32.const 14780) ",") - (data (i32.const 14792) "\01\00\00\00\1c\00\00\00\f0,\00\00p,\00\00p,\00\00\b0,\00\00\90,\00\00\d0,") - (data (i32.const 14828) ",") - (data (i32.const 14840) "\02\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,") - (data (i32.const 14876) "\1c") - (data (i32.const 14888) "\02\00\00\00\02\00\00\002") - (data (i32.const 14908) "\1c") - (data (i32.const 14920) "\02\00\00\00\02\00\00\004") - (data (i32.const 14940) ",") - (data (i32.const 14952) "\01\00\00\00\10\00\00\00\c04\00\000:\00\00\00\00\00\00P:") - (data (i32.const 14988) "\1c") - (data (i32.const 15000) "\02\00\00\00\0c\00\00\001\00,\002\00,\00,\004") - (data (i32.const 15020) "\1c") - (data (i32.const 15032) "\01\00\00\00\08\00\00\00\01\00\00\00\02") + (data (i32.const 14104) "\01\00\00\00\03\00\00\00\01\ff") + (data (i32.const 14124) "\1c") + (data (i32.const 14136) "\02\00\00\00\0c\00\00\001\00,\00-\001\00,\000") + (data (i32.const 14156) "\1c") + (data (i32.const 14168) "\01\00\00\00\03\00\00\00\80\81\80") + (data (i32.const 14188) ",") + (data (i32.const 14200) "\02\00\00\00\1c\00\00\00-\001\002\008\00,\00-\001\002\007\00,\00-\001\002\008") + (data (i32.const 14236) "\1c") + (data (i32.const 14248) "\01\00\00\00\06\00\00\00\01\00\ff\ff") + (data (i32.const 14268) ",") + (data (i32.const 14280) "\02\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000") + (data (i32.const 14316) "\1c") + (data (i32.const 14328) "\01\00\00\00\04\00\00\00\00\80\01\ff") + (data (i32.const 14348) ",") + (data (i32.const 14360) "\02\00\00\00\16\00\00\00-\003\002\007\006\008\00,\00-\002\005\005") + (data (i32.const 14396) "\1c") + (data (i32.const 14408) "\01\00\00\00\08\00\00\00\00\00\00\80\80\ff\ff\ff") + (data (i32.const 14428) "<") + (data (i32.const 14440) "\02\00\00\00 \00\00\00-\002\001\004\007\004\008\003\006\004\008\00,\00-\001\002\008") + (data (i32.const 14492) ",") + (data (i32.const 14504) "\01\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 14540) "L") + (data (i32.const 14552) "\02\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000") + (data (i32.const 14620) "<") + (data (i32.const 14632) "\01\00\00\00(\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f") + (data (i32.const 14684) "\9c") + (data (i32.const 14696) "\02\00\00\00~\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") + (data (i32.const 14844) ",") + (data (i32.const 14856) "\01\00\00\00\1c\00\00\000-\00\00\b0,\00\00\b0,\00\00\f0,\00\00\d0,\00\00\10-") + (data (i32.const 14892) ",") + (data (i32.const 14904) "\02\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,") + (data (i32.const 14940) "\1c") + (data (i32.const 14952) "\02\00\00\00\02\00\00\002") + (data (i32.const 14972) "\1c") + (data (i32.const 14984) "\02\00\00\00\02\00\00\004") + (data (i32.const 15004) ",") + (data (i32.const 15016) "\01\00\00\00\10\00\00\00\005\00\00p:\00\00\00\00\00\00\90:") (data (i32.const 15052) "\1c") - (data (i32.const 15064) "\01\00\00\00\08\00\00\00\03\00\00\00\04") - (data (i32.const 15084) ",") - (data (i32.const 15096) "\02\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004") - (data (i32.const 15132) "\1c") - (data (i32.const 15144) "\01\00\00\00\02\00\00\00\01\02") - (data (i32.const 15164) "\1c") - (data (i32.const 15176) "\01\00\00\00\02\00\00\00\03\04") + (data (i32.const 15064) "\02\00\00\00\0c\00\00\001\00,\002\00,\00,\004") + (data (i32.const 15084) "\1c") + (data (i32.const 15096) "\01\00\00\00\08\00\00\00\01\00\00\00\02") + (data (i32.const 15116) "\1c") + (data (i32.const 15128) "\01\00\00\00\08\00\00\00\03\00\00\00\04") + (data (i32.const 15148) ",") + (data (i32.const 15160) "\02\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004") (data (i32.const 15196) "\1c") - (data (i32.const 15208) "\01\00\00\00\04\00\00\00\01") + (data (i32.const 15208) "\01\00\00\00\02\00\00\00\01\02") (data (i32.const 15228) "\1c") - (data (i32.const 15240) "\01\00\00\00\04") + (data (i32.const 15240) "\01\00\00\00\02\00\00\00\03\04") (data (i32.const 15260) "\1c") - (data (i32.const 15272) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 15272) "\01\00\00\00\04\00\00\00\01") (data (i32.const 15292) "\1c") - (data (i32.const 15304) "\01\00\00\00\0c\00\00\00\04\00\00\00\05\00\00\00\06") + (data (i32.const 15304) "\01\00\00\00\04") (data (i32.const 15324) "\1c") - (data (i32.const 15336) "\01\00\00\00\0c\00\00\00\07\00\00\00\08\00\00\00\t") + (data (i32.const 15336) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 15356) "\1c") - (data (i32.const 15368) "\02\00\00\00\06\00\00\00o\00n\00e") + (data (i32.const 15368) "\01\00\00\00\0c\00\00\00\04\00\00\00\05\00\00\00\06") (data (i32.const 15388) "\1c") - (data (i32.const 15400) "\01\00\00\00\04\00\00\00\10<") + (data (i32.const 15400) "\01\00\00\00\0c\00\00\00\07\00\00\00\08\00\00\00\t") (data (i32.const 15420) "\1c") - (data (i32.const 15432) "\02\00\00\00\06\00\00\00t\00w\00o") + (data (i32.const 15432) "\02\00\00\00\06\00\00\00o\00n\00e") (data (i32.const 15452) "\1c") - (data (i32.const 15464) "\02\00\00\00\n\00\00\00t\00h\00r\00e\00e") + (data (i32.const 15464) "\01\00\00\00\04\00\00\00P<") (data (i32.const 15484) "\1c") - (data (i32.const 15496) "\01\00\00\00\0c\00\00\00P<\00\00\00\00\00\00p<") + (data (i32.const 15496) "\02\00\00\00\06\00\00\00t\00w\00o") (data (i32.const 15516) "\1c") - (data (i32.const 15528) "\02\00\00\00\08\00\00\00f\00o\00u\00r") + (data (i32.const 15528) "\02\00\00\00\n\00\00\00t\00h\00r\00e\00e") (data (i32.const 15548) "\1c") - (data (i32.const 15560) "\02\00\00\00\08\00\00\00f\00i\00v\00e") + (data (i32.const 15560) "\01\00\00\00\0c\00\00\00\90<\00\00\00\00\00\00\b0<") (data (i32.const 15580) "\1c") - (data (i32.const 15592) "\02\00\00\00\06\00\00\00s\00i\00x") + (data (i32.const 15592) "\02\00\00\00\08\00\00\00f\00o\00u\00r") (data (i32.const 15612) "\1c") - (data (i32.const 15624) "\01\00\00\00\0c\00\00\00\b0<\00\00\d0<\00\00\f0<") + (data (i32.const 15624) "\02\00\00\00\08\00\00\00f\00i\00v\00e") (data (i32.const 15644) "\1c") - (data (i32.const 15656) "\02\00\00\00\n\00\00\00s\00e\00v\00e\00n") + (data (i32.const 15656) "\02\00\00\00\06\00\00\00s\00i\00x") (data (i32.const 15676) "\1c") - (data (i32.const 15688) "\01\00\00\00\04\00\00\000=") - (data (i32.const 15708) "<") - (data (i32.const 15720) "\01\00\00\00 \00\00\00\10<\00\00P<\00\00\00\00\00\00p<\00\00\b0<\00\00\d0<\00\00\f0<\00\000=") - (data (i32.const 15772) "\1c") - (data (i32.const 15784) "\01") - (data (i32.const 15804) "\1c") - (data (i32.const 15816) "\01") + (data (i32.const 15688) "\01\00\00\00\0c\00\00\00\f0<\00\00\10=\00\000=") + (data (i32.const 15708) "\1c") + (data (i32.const 15720) "\02\00\00\00\n\00\00\00s\00e\00v\00e\00n") + (data (i32.const 15740) "\1c") + (data (i32.const 15752) "\01\00\00\00\04\00\00\00p=") + (data (i32.const 15772) "<") + (data (i32.const 15784) "\01\00\00\00 \00\00\00P<\00\00\90<\00\00\00\00\00\00\b0<\00\00\f0<\00\00\10=\00\000=\00\00p=") (data (i32.const 15836) "\1c") - (data (i32.const 15848) "\01\00\00\00\04\00\00\00\01") + (data (i32.const 15848) "\01") (data (i32.const 15868) "\1c") - (data (i32.const 15880) "\01\00\00\00\04\00\00\00\02") + (data (i32.const 15880) "\01") (data (i32.const 15900) "\1c") - (data (i32.const 15912) ".\00\00\00\08\00\00\00?") - (data (i32.const 15936) "/\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00 \00\00\00A\00\00\00B\00\00\00\02\01\00\00\02\19\00\00\02A\00\00\82\00\00\00\02\1a\00\00\02a") - (data (i32.const 16004) "\02A") - (data (i32.const 16028) " \00\00\00\02A") - (data (i32.const 16056) "\02A\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\02a") - (data (i32.const 16088) "B\00\00\00B\08\00\00\82\08\00\00\02\02\00\00\02\n\00\00\02A\00\00\02A\00\00\02A\00\00\02A") + (data (i32.const 15912) "\01\00\00\00\04\00\00\00\01") + (data (i32.const 15932) "\1c") + (data (i32.const 15944) "\01\00\00\00\04\00\00\00\02") + (data (i32.const 15964) "\1c") + (data (i32.const 15976) ".\00\00\00\08\00\00\00?") + (data (i32.const 16000) "/\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00 \00\00\00A\00\00\00B\00\00\00\02\01\00\00\02\19\00\00\02A\00\00\82\00\00\00\02\1a\00\00\02a") + (data (i32.const 16068) "\02A") + (data (i32.const 16092) " \00\00\00\02A") + (data (i32.const 16120) "\02A\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\02a") + (data (i32.const 16152) "B\00\00\00B\08\00\00\82\08\00\00\02\02\00\00\02\n\00\00\02A\00\00\02A\00\00\02A\00\00\02A") (table $0 64 64 funcref) (elem $0 (i32.const 1) $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|3 $start:std/array~anonymous|2 $start:std/array~anonymous|5 $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|5 $start:std/array~anonymous|10 $start:std/array~anonymous|11 $start:std/array~anonymous|12 $start:std/array~anonymous|13 $start:std/array~anonymous|14 $start:std/array~anonymous|15 $start:std/array~anonymous|16 $start:std/array~anonymous|17 $start:std/array~anonymous|18 $start:std/array~anonymous|19 $start:std/array~anonymous|20 $start:std/array~anonymous|21 $start:std/array~anonymous|20 $start:std/array~anonymous|23 $start:std/array~anonymous|24 $start:std/array~anonymous|25 $start:std/array~anonymous|26 $start:std/array~anonymous|27 $start:std/array~anonymous|28 $start:std/array~anonymous|29 $start:std/array~anonymous|30 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|34 $start:std/array~anonymous|34 $start:std/array~anonymous|36 $start:std/array~anonymous|37 $start:std/array~anonymous|38 $start:std/array~anonymous|34 $start:std/array~anonymous|40 $start:std/array~anonymous|34 $start:std/array~anonymous|34 $start:std/array~anonymous|36 $start:std/array~anonymous|37 $start:std/array~anonymous|38 $start:std/array~anonymous|34 $start:std/array~anonymous|40 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/array/assertStableSortedForComplexObjects~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|49 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|49 $start:std/array~anonymous|52 $std/array/assertStableSortedForComplexObjects~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 $start:std/array~anonymous|54) (export "memory" (memory $0)) @@ -667,7 +668,7 @@ local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__visit end - i32.const 9968 + i32.const 10032 call $byn-split-outlined-A$~lib/rt/itcms/__visit global.get $std/array/inputStabArr local.tee $0 @@ -691,9 +692,9 @@ call $byn-split-outlined-A$~lib/rt/itcms/__visit i32.const 1152 call $byn-split-outlined-A$~lib/rt/itcms/__visit - i32.const 8080 + i32.const 8144 call $byn-split-outlined-A$~lib/rt/itcms/__visit - i32.const 9136 + i32.const 9200 call $byn-split-outlined-A$~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 @@ -768,7 +769,7 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 48896 + i32.const 48960 i32.lt_u i32.and i32.eqz @@ -817,7 +818,7 @@ i32.const 1 else local.get $1 - i32.const 15936 + i32.const 16000 i32.load $0 i32.gt_u if @@ -831,7 +832,7 @@ local.get $1 i32.const 2 i32.shl - i32.const 15940 + i32.const 16004 i32.add i32.load $0 i32.const 32 @@ -1396,10 +1397,10 @@ if unreachable end - i32.const 48896 + i32.const 48960 i32.const 0 i32.store $0 - i32.const 50464 + i32.const 50528 i32.const 0 i32.store $0 loop $for-loop|0 @@ -1410,7 +1411,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 48896 + i32.const 48960 i32.add i32.const 0 i32.store $0 offset=4 @@ -1428,7 +1429,7 @@ i32.add i32.const 2 i32.shl - i32.const 48896 + i32.const 48960 i32.add i32.const 0 i32.store $0 offset=96 @@ -1446,20 +1447,20 @@ br $for-loop|0 end end - i32.const 48896 - i32.const 50468 + i32.const 48960 + i32.const 50532 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 48896 + i32.const 48960 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/tlsf/__free (type $i32_=>_none) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 - i32.const 48896 + i32.const 48960 i32.lt_u if return @@ -1589,7 +1590,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 48896 + i32.const 48960 i32.lt_u if local.get $0 @@ -1689,7 +1690,7 @@ unreachable end local.get $0 - i32.const 48896 + i32.const 48960 i32.lt_u if local.get $0 @@ -2377,6 +2378,31 @@ end i32.const 1 ) + (func $~lib/array/Array#fill@varargs (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 + end + i32.const 2147483647 + local.set $3 + end + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/array/Array#fill + ) (func $~lib/array/Array#fill (type $i32_f32_i32_i32_=>_none) (param $0 i32) (param $1 f32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) @@ -2565,6 +2591,31 @@ end i32.const 1 ) + (func $~lib/array/Array#fill@varargs (type $i32_f32_i32_=>_none) (param $0 i32) (param $1 f32) (param $2 i32) + (local $3 i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 + end + i32.const 2147483647 + local.set $3 + end + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/array/Array#fill + ) (func $~lib/array/ensureCapacity (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) @@ -2905,6 +2956,27 @@ memory.copy $0 $0 local.get $0 ) + (func $~lib/array/Array#copyWithin@varargs (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 2 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + local.set $3 + end + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/array/Array#copyWithin + ) (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 @@ -2983,6 +3055,28 @@ local.get $2 i32.store $0 offset=12 ) + (func $~lib/array/Array#slice@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const 2147483647 + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#slice + ) (func $~lib/array/Array#reverse (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -3252,6 +3346,26 @@ i32.add i32.load16_u $0 ) + (func $~lib/array/Array#splice@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#splice + ) (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $1 @@ -3523,7 +3637,7 @@ i32.div_u i32.const 2 i32.shl - i32.const 7660 + i32.const 7724 i32.add i64.load32_u $0 local.get $3 @@ -3531,7 +3645,7 @@ i32.rem_u i32.const 2 i32.shl - i32.const 7660 + i32.const 7724 i32.add i64.load32_u $0 i64.const 32 @@ -3558,7 +3672,7 @@ i32.rem_u i32.const 2 i32.shl - i32.const 7660 + i32.const 7724 i32.add i32.load $0 i32.store $0 @@ -3581,7 +3695,7 @@ local.get $1 i32.const 2 i32.shl - i32.const 7660 + i32.const 7724 i32.add i32.load $0 i32.store $0 @@ -7189,11 +7303,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -7379,11 +7493,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -7538,11 +7652,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8259,11 +8373,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8295,7 +8409,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $2 br $__inlined_func$~lib/string/String#concat end @@ -8429,11 +8543,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8454,7 +8568,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end @@ -8658,11 +8772,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8683,7 +8797,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end @@ -9045,7 +9159,7 @@ local.get $7 i32.const 2 i32.shl - i32.const 13328 + i32.const 13392 i32.add i64.load32_u $0 local.get $10 @@ -9169,7 +9283,7 @@ i32.sub i32.const 2 i32.shl - i32.const 13328 + i32.const 13392 i32.add i64.load32_u $0 i64.mul @@ -9677,14 +9791,14 @@ i32.sub global.set $~lib/util/number/_K local.get $9 - i32.const 12456 + i32.const 12520 i32.add i64.load $0 global.set $~lib/util/number/_frc_pow local.get $8 i32.const 1 i32.shl - i32.const 13152 + i32.const 13216 i32.add i32.load16_s $0 global.set $~lib/util/number/_exp_pow @@ -9927,7 +10041,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -9945,7 +10059,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinFloatArray end @@ -9960,7 +10074,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -9975,7 +10089,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 12256 + i32.const 12320 local.set $0 br $__inlined_func$~lib/util/number/dtoa end @@ -9993,7 +10107,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 12288 + i32.const 12352 local.set $0 br $__inlined_func$~lib/util/number/dtoa end @@ -10001,8 +10115,8 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 12320 - i32.const 12368 + i32.const 12384 + i32.const 12432 local.get $2 f64.const 0 f64.lt @@ -10010,7 +10124,7 @@ local.set $0 br $__inlined_func$~lib/util/number/dtoa end - i32.const 12400 + i32.const 12464 local.get $2 call $~lib/util/number/dtoa_core i32.const 1 @@ -10023,7 +10137,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.const 12400 + i32.const 12464 local.get $1 memory.copy $0 $0 global.get $~lib/memory/__stack_pointer @@ -10038,7 +10152,7 @@ br $__inlined_func$~lib/util/string/joinFloatArray end global.get $~lib/memory/__stack_pointer - i32.const 12220 + i32.const 12284 i32.load $0 i32.const 1 i32.shr_u @@ -10085,7 +10199,7 @@ i32.const 1 i32.shl i32.add - i32.const 12224 + i32.const 12288 local.get $5 i32.const 1 i32.shl @@ -10140,22 +10254,23 @@ local.get $0 return end - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable ) - (func $~lib/array/Array#join (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/array/Array<~lib/string/String|null>#join (type $i32_i32_=>_i32) (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) local.get $0 i32.load $0 offset=4 - local.set $2 + local.set $4 local.get $0 i32.load $0 offset=12 local.set $0 @@ -10164,28 +10279,28 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $5 i64.const 0 i64.store $0 - local.get $3 + local.get $5 i32.const 0 i32.store $0 offset=8 - block $__inlined_func$~lib/util/string/joinReferenceArray + block $__inlined_func$~lib/util/string/joinStringArray local.get $0 i32.const 1 i32.sub - local.tee $3 + local.tee $5 i32.const 0 i32.lt_s if @@ -10193,16 +10308,16 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 - br $__inlined_func$~lib/util/string/joinReferenceArray + br $__inlined_func$~lib/util/string/joinStringArray end - local.get $3 + local.get $5 i32.eqz if global.get $~lib/memory/__stack_pointer local.tee $0 - local.get $2 + local.get $4 i32.load $0 local.tee $1 i32.store $0 @@ -10210,87 +10325,153 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - i32.const 13568 - i32.const 11504 + local.get $1 + i32.const 11568 local.get $1 select local.set $0 - br $__inlined_func$~lib/util/string/joinReferenceArray + br $__inlined_func$~lib/util/string/joinStringArray end - i32.const 11504 - local.set $0 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $4 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $6 + i32.store $0 offset=4 + local.get $6 + if + local.get $2 + local.get $6 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.add + local.set $2 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + i32.const 0 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 11504 - i32.store $0 offset=4 - i32.const 11788 - i32.load $0 + local.get $2 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 1 i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $3 + local.tee $6 + local.get $5 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 offset=8 + i32.const 0 + local.set $2 + loop $for-loop|1 + local.get $2 + local.get $5 i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $4 local.get $2 - local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $5 - i32.store $0 - local.get $5 + local.tee $7 + i32.store $0 offset=4 + local.get $7 if - global.get $~lib/memory/__stack_pointer - local.tee $5 - i32.const 13568 - i32.store $0 offset=8 - local.get $5 local.get $0 - i32.const 13568 - call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $7 + local.get $7 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $7 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $3 + local.get $7 + i32.add + local.set $3 end - local.get $4 + local.get $6 if - global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 11792 - call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $1 + local.get $6 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $3 + local.get $6 + i32.add + local.set $3 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 - br $for-loop|0 + local.set $2 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $3 + local.get $4 + local.get $5 i32.const 2 i32.shl i32.add i32.load $0 local.tee $1 - i32.store $0 + i32.store $0 offset=4 local.get $1 if - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 13568 - i32.store $0 offset=8 - local.get $1 local.get $0 - i32.const 13568 - call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $1 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + memory.copy $0 $0 end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -10299,7 +10480,159 @@ end local.get $0 ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 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 + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + block $__inlined_func$~lib/util/string/joinReferenceArray + local.get $0 + i32.const 1 + i32.sub + local.tee $3 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + local.set $0 + br $__inlined_func$~lib/util/string/joinReferenceArray + end + local.get $3 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $2 + i32.load $0 + local.tee $1 + i32.store $0 + local.get $0 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 13632 + i32.const 11568 + local.get $1 + select + local.set $0 + br $__inlined_func$~lib/util/string/joinReferenceArray + end + i32.const 11568 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 11568 + i32.store $0 offset=4 + i32.const 11852 + i32.load $0 + i32.const 1 + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $1 + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $5 + i32.store $0 + local.get $5 + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 13632 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.const 13632 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=4 + end + local.get $4 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 11856 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=4 + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 13632 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.const 13632 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=4 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + end + local.get $0 + ) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -10600,7 +10933,7 @@ i32.div_u i32.const 2 i32.shl - i32.const 7660 + i32.const 7724 i32.add i64.load32_u $0 local.get $4 @@ -10608,7 +10941,7 @@ i32.rem_u i32.const 2 i32.shl - i32.const 7660 + i32.const 7724 i32.add i64.load32_u $0 i64.const 32 @@ -10631,7 +10964,7 @@ i32.div_u i32.const 2 i32.shl - i32.const 7660 + i32.const 7724 i32.add i64.load32_u $0 local.get $3 @@ -10639,7 +10972,7 @@ i32.rem_u i32.const 2 i32.shl - i32.const 7660 + i32.const 7724 i32.add i64.load32_u $0 i64.const 32 @@ -10807,7 +11140,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -10825,7 +11158,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end @@ -10841,7 +11174,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -10854,7 +11187,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 7648 + i32.const 7712 br $__inlined_func$~lib/util/number/utoa64 end local.get $2 @@ -10999,7 +11332,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - i32.const 11788 + i32.const 11852 i32.load $0 i32.const 1 i32.shr_u @@ -11046,7 +11379,7 @@ i32.const 1 i32.shl i32.add - i32.const 11792 + i32.const 11856 local.get $3 i32.const 1 i32.shl @@ -11101,8 +11434,8 @@ local.get $0 return end - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -11431,11 +11764,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -11516,11 +11849,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -11531,10 +11864,10 @@ i32.const 0 i32.store $0 local.get $1 - i32.const 11056 + i32.const 11120 i32.store $0 local.get $0 - i32.const 11056 + i32.const 11120 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer i32.const 4 @@ -11551,11 +11884,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -11752,7 +12085,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -11774,7 +12107,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -11851,8 +12184,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -11874,7 +12207,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -11886,7 +12219,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -11958,7 +12291,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -11968,14 +12301,14 @@ local.get $0 i32.const 0 i32.store $0 offset=8 - i32.const 11504 + i32.const 11568 local.set $1 local.get $0 - i32.const 11504 + i32.const 11568 i32.store $0 i32.const 0 local.set $3 - loop $for-loop|03 + loop $for-loop|02 local.get $3 local.get $5 i32.lt_s @@ -11984,15 +12317,15 @@ local.tee $0 local.set $7 local.get $0 - i32.const 9968 + i32.const 10032 i32.store $0 offset=4 call $~lib/math/NativeMath.random local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 9968 + i32.const 10032 i32.store $0 offset=8 local.get $6 - i32.const 9964 + i32.const 10028 i32.load $0 i32.const 1 i32.shr_u @@ -12006,7 +12339,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12014,7 +12347,7 @@ i32.store $0 block $__inlined_func$~lib/string/String#charAt local.get $4 - i32.const 9964 + i32.const 10028 i32.load $0 i32.const 1 i32.shr_u @@ -12024,7 +12357,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/string/String#charAt end @@ -12038,7 +12371,7 @@ local.get $4 i32.const 1 i32.shl - i32.const 9968 + i32.const 10032 i32.add i32.load16_u $0 i32.store16 $0 @@ -12060,7 +12393,7 @@ i32.const 1 i32.add local.set $3 - br $for-loop|03 + br $for-loop|02 end end global.get $~lib/memory/__stack_pointer @@ -12088,8 +12421,8 @@ local.get $8 return end - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12102,11 +12435,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12117,10 +12450,10 @@ i32.const 0 i32.store $0 local.get $1 - i32.const 11792 + i32.const 11856 i32.store $0 local.get $0 - i32.const 11792 + i32.const 11856 call $~lib/array/Array#join local.set $0 global.get $~lib/memory/__stack_pointer @@ -12142,7 +12475,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12150,7 +12483,7 @@ i32.const 0 i32.store $0 local.get $1 - i32.const 11792 + i32.const 11856 i32.store $0 local.get $0 i32.load $0 offset=4 @@ -12163,7 +12496,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12181,7 +12514,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end @@ -12199,7 +12532,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - i32.const 11788 + i32.const 11852 i32.load $0 i32.const 1 i32.shr_u @@ -12244,7 +12577,7 @@ i32.const 1 i32.shl i32.add - i32.const 11792 + i32.const 11856 local.get $5 i32.const 1 i32.shl @@ -12301,8 +12634,8 @@ local.get $0 return end - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12315,11 +12648,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12330,14 +12663,11 @@ i32.const 0 i32.store $0 local.get $1 - i32.const 11792 + i32.const 11856 i32.store $0 local.get $0 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=12 - i32.const 11792 - call $~lib/util/string/joinStringArray + i32.const 11856 + call $~lib/array/Array<~lib/string/String|null>#join local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -12358,7 +12688,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12366,7 +12696,7 @@ i32.const 0 i32.store $0 local.get $1 - i32.const 11792 + i32.const 11856 i32.store $0 local.get $0 i32.load $0 offset=4 @@ -12379,7 +12709,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12397,7 +12727,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end @@ -12415,7 +12745,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - i32.const 11788 + i32.const 11852 i32.load $0 i32.const 1 i32.shr_u @@ -12460,7 +12790,7 @@ i32.const 1 i32.shl i32.add - i32.const 11792 + i32.const 11856 local.get $5 i32.const 1 i32.shl @@ -12517,8 +12847,8 @@ local.get $0 return end - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12531,11 +12861,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12546,10 +12876,10 @@ i32.const 0 i32.store $0 local.get $1 - i32.const 11792 + i32.const 11856 i32.store $0 local.get $0 - i32.const 11792 + i32.const 11856 call $~lib/array/Array#join local.set $0 global.get $~lib/memory/__stack_pointer @@ -12571,7 +12901,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12579,7 +12909,7 @@ i32.const 0 i32.store $0 local.get $2 - i32.const 11792 + i32.const 11856 i32.store $0 local.get $0 i32.load $0 offset=4 @@ -12592,7 +12922,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -12614,7 +12944,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end @@ -12631,7 +12961,7 @@ local.get $0 call $~lib/array/Array#toString else - i32.const 11504 + i32.const 11568 end local.set $0 global.get $~lib/memory/__stack_pointer @@ -12640,12 +12970,12 @@ global.set $~lib/memory/__stack_pointer br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end - i32.const 11504 + i32.const 11568 local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 i32.store $0 offset=4 - i32.const 11788 + i32.const 11852 i32.load $0 i32.const 1 i32.shr_u @@ -12685,7 +13015,7 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 11792 + i32.const 11856 call $~lib/string/String.__concat local.tee $0 i32.store $0 offset=4 @@ -12735,8 +13065,8 @@ local.get $0 return end - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -12762,7 +13092,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -12772,7 +13102,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 48896 + i32.const 48960 i32.sub i32.const 1 i32.shr_u @@ -12815,7 +13145,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -12834,7 +13164,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -12971,6 +13301,8 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + global.set $~argumentsLength local.get $0 i32.load $0 offset=4 local.set $1 @@ -12982,10 +13314,10 @@ i32.const 0 i32.le_s select - local.set $7 + local.tee $7 local.get $6 - local.get $7 - i32.gt_s + local.tee $6 + i32.lt_s if local.get $1 local.get $7 @@ -13065,6 +13397,8 @@ call $~lib/builtins/abort unreachable end + i32.const 2 + global.set $~argumentsLength local.get $0 i32.load $0 offset=4 local.set $1 @@ -13075,6 +13409,7 @@ i32.sub local.tee $7 local.get $6 + local.tee $6 i32.lt_s if local.get $1 @@ -13158,6 +13493,8 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + global.set $~argumentsLength local.get $0 i32.load $0 offset=4 local.set $1 @@ -13169,10 +13506,10 @@ i32.const 0 i32.le_s select - local.set $7 + local.tee $7 local.get $6 - local.get $7 - i32.gt_s + local.tee $6 + i32.lt_s if local.get $1 local.get $7 @@ -13238,11 +13575,12 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 0 i32.const 0 - i32.const 2147483647 - call $~lib/array/Array#fill + call $~lib/array/Array#fill@varargs i32.const 5 i32.const 2 i32.const 8 @@ -13290,11 +13628,12 @@ call $~lib/builtins/abort unreachable end + i32.const 2 + global.set $~argumentsLength local.get $0 i32.const 2 i32.const -2 - i32.const 2147483647 - call $~lib/array/Array#fill + call $~lib/array/Array#fill@varargs i32.const 5 i32.const 2 i32.const 8 @@ -13342,11 +13681,12 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const -1 i32.const 0 - i32.const 2147483647 - call $~lib/array/Array#fill + call $~lib/array/Array#fill@varargs i32.const 5 i32.const 2 i32.const 8 @@ -13402,11 +13742,12 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + global.set $~argumentsLength local.get $0 f32.const 0 i32.const 0 - i32.const 2147483647 - call $~lib/array/Array#fill + call $~lib/array/Array#fill@varargs i32.const 5 i32.const 2 i32.const 9 @@ -13454,11 +13795,12 @@ call $~lib/builtins/abort unreachable end + i32.const 2 + global.set $~argumentsLength local.get $0 f32.const 2 i32.const -2 - i32.const 2147483647 - call $~lib/array/Array#fill + call $~lib/array/Array#fill@varargs i32.const 5 i32.const 2 i32.const 9 @@ -13506,11 +13848,12 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + global.set $~argumentsLength local.get $0 f32.const -1 i32.const 0 - i32.const 2147483647 - call $~lib/array/Array#fill + call $~lib/array/Array#fill@varargs i32.const 5 i32.const 2 i32.const 9 @@ -13532,11 +13875,12 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + global.set $~argumentsLength local.get $0 f32.const -0 i32.const 0 - i32.const 2147483647 - call $~lib/array/Array#fill + call $~lib/array/Array#fill@varargs i32.const 5 i32.const 2 i32.const 9 @@ -14335,11 +14679,12 @@ call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength local.get $0 i32.const 0 i32.const 3 - i32.const 2147483647 - call $~lib/array/Array#copyWithin + call $~lib/array/Array#copyWithin@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -14374,11 +14719,12 @@ call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength local.get $0 i32.const 1 i32.const 3 - i32.const 2147483647 - call $~lib/array/Array#copyWithin + call $~lib/array/Array#copyWithin@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -14413,11 +14759,12 @@ call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength local.get $0 i32.const 1 i32.const 2 - i32.const 2147483647 - call $~lib/array/Array#copyWithin + call $~lib/array/Array#copyWithin@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -14452,11 +14799,12 @@ call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength local.get $0 i32.const 2 i32.const 2 - i32.const 2147483647 - call $~lib/array/Array#copyWithin + call $~lib/array/Array#copyWithin@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -14608,11 +14956,12 @@ call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength local.get $0 i32.const 0 i32.const -2 - i32.const 2147483647 - call $~lib/array/Array#copyWithin + call $~lib/array/Array#copyWithin@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -14764,11 +15113,12 @@ call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength local.get $0 i32.const -4 i32.const -3 - i32.const 2147483647 - call $~lib/array/Array#copyWithin + call $~lib/array/Array#copyWithin@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -15290,11 +15640,12 @@ call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=52 + i32.const 1 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $0 i32.const 2 - i32.const 2147483647 - call $~lib/array/Array#slice + call $~lib/array/Array#slice@varargs local.tee $1 i32.store $0 offset=56 i32.const 3 @@ -15377,11 +15728,12 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $0 i32.const 0 - i32.const 2147483647 - call $~lib/array/Array#slice + call $~lib/array/Array#slice@varargs local.tee $1 i32.store $0 offset=56 local.get $1 @@ -15397,11 +15749,12 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $0 i32.const -2 - i32.const 2147483647 - call $~lib/array/Array#slice + call $~lib/array/Array#slice@varargs local.tee $1 i32.store $0 offset=56 i32.const 2 @@ -15502,10 +15855,11 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 10 - i32.const 2147483647 - call $~lib/array/Array#slice + call $~lib/array/Array#slice@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -16744,7 +17098,7 @@ local.get $0 i32.load $0 offset=4 local.set $2 - loop $while-continue|06 + loop $while-continue|03 local.get $1 i32.const 0 i32.ge_s @@ -16762,7 +17116,7 @@ i32.const 1 i32.sub local.set $1 - br $while-continue|06 + br $while-continue|03 end end i32.const -1 @@ -16783,12 +17137,12 @@ global.set $~argumentsLength i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#lastIndexOf11 + block $__inlined_func$~lib/array/Array#lastIndexOf8 local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf11 + br_if $__inlined_func$~lib/array/Array#lastIndexOf8 local.get $2 local.get $2 i32.add @@ -16803,7 +17157,7 @@ local.get $0 i32.load $0 offset=4 local.set $2 - loop $while-continue|012 + loop $while-continue|09 local.get $1 i32.const 0 i32.ge_s @@ -16816,12 +17170,12 @@ i32.load $0 i32.const 7 i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf11 + br_if $__inlined_func$~lib/array/Array#lastIndexOf8 local.get $1 i32.const 1 i32.sub local.set $1 - br $while-continue|012 + br $while-continue|09 end end i32.const -1 @@ -16840,12 +17194,12 @@ end i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#lastIndexOf13 + block $__inlined_func$~lib/array/Array#lastIndexOf10 local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf13 + br_if $__inlined_func$~lib/array/Array#lastIndexOf10 i32.const 3 local.get $2 i32.const 1 @@ -16871,7 +17225,7 @@ i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf13 + br_if $__inlined_func$~lib/array/Array#lastIndexOf10 local.get $1 i32.const 1 i32.sub @@ -17840,10 +18194,11 @@ call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=88 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 0 - i32.const 2147483647 - call $~lib/array/Array#splice + call $~lib/array/Array#splice@varargs local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -17960,10 +18315,11 @@ call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=88 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 2 - i32.const 2147483647 - call $~lib/array/Array#splice + call $~lib/array/Array#splice@varargs local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -18140,10 +18496,11 @@ call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=88 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const -1 - i32.const 2147483647 - call $~lib/array/Array#splice + call $~lib/array/Array#splice@varargs local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -18200,10 +18557,11 @@ call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=88 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const -2 - i32.const 2147483647 - call $~lib/array/Array#splice + call $~lib/array/Array#splice@varargs local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -18909,7 +19267,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -19128,7 +19486,7 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 6608 + i32.const 6672 i32.store $0 offset=8 i32.const 0 local.set $0 @@ -19136,7 +19494,7 @@ i32.load $0 offset=12 local.set $2 block $__inlined_func$~lib/array/Array#findIndex - loop $for-loop|0237 + loop $for-loop|0236 local.get $0 local.get $2 local.get $1 @@ -19161,7 +19519,7 @@ local.get $6 local.get $0 local.get $1 - i32.const 6608 + i32.const 6672 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex @@ -19169,7 +19527,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0237 + br $for-loop|0236 end end i32.const -1 @@ -19192,15 +19550,15 @@ local.tee $1 i32.store $0 local.get $0 - i32.const 6640 + i32.const 6704 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - block $__inlined_func$~lib/array/Array#findIndex240 - loop $for-loop|0243 + block $__inlined_func$~lib/array/Array#findIndex239 + loop $for-loop|0241 local.get $0 local.get $2 local.get $1 @@ -19225,15 +19583,15 @@ local.get $6 local.get $0 local.get $1 - i32.const 6640 + i32.const 6704 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex240 + br_if $__inlined_func$~lib/array/Array#findIndex239 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0243 + br $for-loop|0241 end end i32.const -1 @@ -19258,15 +19616,15 @@ local.tee $1 i32.store $0 local.get $0 - i32.const 6672 + i32.const 6736 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - block $__inlined_func$~lib/array/Array#findIndex247 - loop $for-loop|0250 + block $__inlined_func$~lib/array/Array#findIndex245 + loop $for-loop|0247 local.get $0 local.get $2 local.get $1 @@ -19291,15 +19649,15 @@ local.get $6 local.get $0 local.get $1 - i32.const 6672 + i32.const 6736 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex247 + br_if $__inlined_func$~lib/array/Array#findIndex245 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0250 + br $for-loop|0247 end end i32.const -1 @@ -19324,15 +19682,15 @@ local.tee $1 i32.store $0 local.get $0 - i32.const 6704 + i32.const 6768 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - block $__inlined_func$~lib/array/Array#findIndex254 - loop $for-loop|0257 + block $__inlined_func$~lib/array/Array#findIndex251 + loop $for-loop|0253 local.get $0 local.get $2 local.get $1 @@ -19357,15 +19715,15 @@ local.get $6 local.get $0 local.get $1 - i32.const 6704 + i32.const 6768 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex254 + br_if $__inlined_func$~lib/array/Array#findIndex251 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0257 + br $for-loop|0253 end end i32.const -1 @@ -19406,15 +19764,15 @@ local.tee $1 i32.store $0 local.get $0 - i32.const 6736 + i32.const 6800 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - block $__inlined_func$~lib/array/Array#findIndex263 - loop $for-loop|0266 + block $__inlined_func$~lib/array/Array#findIndex259 + loop $for-loop|0261 local.get $0 local.get $2 local.get $1 @@ -19439,15 +19797,15 @@ local.get $6 local.get $0 local.get $1 - i32.const 6736 + i32.const 6800 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex263 + br_if $__inlined_func$~lib/array/Array#findIndex259 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0266 + br $for-loop|0261 end end i32.const -1 @@ -19499,15 +19857,15 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 6768 + i32.const 6832 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - block $__inlined_func$~lib/array/Array#findIndex270 - loop $for-loop|0273 + block $__inlined_func$~lib/array/Array#findIndex265 + loop $for-loop|0267 local.get $0 local.get $2 local.get $1 @@ -19532,15 +19890,15 @@ local.get $6 local.get $0 local.get $1 - i32.const 6768 + i32.const 6832 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex270 + br_if $__inlined_func$~lib/array/Array#findIndex265 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0273 + br $for-loop|0267 end end i32.const -1 @@ -19593,12 +19951,12 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 6800 + i32.const 6864 call $~lib/rt/__newArray local.tee $1 i32.store $0 offset=132 global.get $~lib/memory/__stack_pointer - i32.const 6848 + i32.const 6912 i32.store $0 offset=8 local.get $1 i32.load $0 offset=12 @@ -19606,7 +19964,7 @@ i32.sub local.set $0 block $__inlined_func$~lib/array/Array#findLastIndex - loop $for-loop|0281 + loop $for-loop|0274 local.get $0 i32.const 0 i32.ge_s @@ -19624,7 +19982,7 @@ local.get $2 local.get $0 local.get $1 - i32.const 6848 + i32.const 6912 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findLastIndex @@ -19632,7 +19990,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|0281 + br $for-loop|0274 end end i32.const -1 @@ -19650,15 +20008,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6880 + i32.const 6944 i32.store $0 offset=8 local.get $1 i32.load $0 offset=12 i32.const 1 i32.sub local.set $0 - block $__inlined_func$~lib/array/Array#findLastIndex284 - loop $for-loop|0287 + block $__inlined_func$~lib/array/Array#findLastIndex277 + loop $for-loop|0279 local.get $0 i32.const 0 i32.ge_s @@ -19676,15 +20034,15 @@ local.get $2 local.get $0 local.get $1 - i32.const 6880 + i32.const 6944 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findLastIndex284 + br_if $__inlined_func$~lib/array/Array#findLastIndex277 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0287 + br $for-loop|0279 end end i32.const -1 @@ -19704,15 +20062,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6912 + i32.const 6976 i32.store $0 offset=8 local.get $1 i32.load $0 offset=12 i32.const 1 i32.sub local.set $0 - block $__inlined_func$~lib/array/Array#findLastIndex290 - loop $for-loop|0293 + block $__inlined_func$~lib/array/Array#findLastIndex282 + loop $for-loop|0284 local.get $0 i32.const 0 i32.ge_s @@ -19730,15 +20088,15 @@ local.get $2 local.get $0 local.get $1 - i32.const 6912 + i32.const 6976 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findLastIndex290 + br_if $__inlined_func$~lib/array/Array#findLastIndex282 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0293 + br $for-loop|0284 end end i32.const -1 @@ -19758,15 +20116,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6944 + i32.const 7008 i32.store $0 offset=8 local.get $1 i32.load $0 offset=12 i32.const 1 i32.sub local.set $0 - block $__inlined_func$~lib/array/Array#findLastIndex296 - loop $for-loop|0299 + block $__inlined_func$~lib/array/Array#findLastIndex287 + loop $for-loop|0289 local.get $0 i32.const 0 i32.ge_s @@ -19784,15 +20142,15 @@ local.get $2 local.get $0 local.get $1 - i32.const 6944 + i32.const 7008 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findLastIndex296 + br_if $__inlined_func$~lib/array/Array#findLastIndex287 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0299 + br $for-loop|0289 end end i32.const -1 @@ -19818,14 +20176,14 @@ local.tee $1 i32.store $0 local.get $0 - i32.const 6976 + i32.const 7040 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0304 + loop $for-loop|0293 local.get $0 local.get $2 local.get $1 @@ -19851,7 +20209,7 @@ local.get $6 local.get $0 local.get $1 - i32.const 6976 + i32.const 7040 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz @@ -19861,7 +20219,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0304 + br $for-loop|0293 end end i32.const 1 @@ -19875,21 +20233,21 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#every308 (result i32) + block $__inlined_func$~lib/array/Array#every297 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr local.tee $1 i32.store $0 local.get $0 - i32.const 7008 + i32.const 7072 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0311 + loop $for-loop|0299 local.get $0 local.get $2 local.get $1 @@ -19915,17 +20273,17 @@ local.get $6 local.get $0 local.get $1 - i32.const 7008 + i32.const 7072 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/array/Array#every308 + br_if $__inlined_func$~lib/array/Array#every297 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0311 + br $for-loop|0299 end end i32.const 1 @@ -19938,21 +20296,21 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#every315 (result i32) + block $__inlined_func$~lib/array/Array#every303 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr local.tee $1 i32.store $0 local.get $0 - i32.const 7040 + i32.const 7104 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0318 + loop $for-loop|0305 local.get $0 local.get $2 local.get $1 @@ -19978,17 +20336,17 @@ local.get $6 local.get $0 local.get $1 - i32.const 7040 + i32.const 7104 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/array/Array#every315 + br_if $__inlined_func$~lib/array/Array#every303 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0318 + br $for-loop|0305 end end i32.const 1 @@ -20018,21 +20376,21 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#every324 (result i32) + block $__inlined_func$~lib/array/Array#every311 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr local.tee $1 i32.store $0 local.get $0 - i32.const 7072 + i32.const 7136 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0327 + loop $for-loop|0313 local.get $0 local.get $2 local.get $1 @@ -20058,17 +20416,17 @@ local.get $6 local.get $0 local.get $1 - i32.const 7072 + i32.const 7136 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/array/Array#every324 + br_if $__inlined_func$~lib/array/Array#every311 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0327 + br $for-loop|0313 end end i32.const 1 @@ -20109,20 +20467,20 @@ local.get $0 call $~lib/array/Array#pop drop - block $__inlined_func$~lib/array/Array#every331 (result i32) + block $__inlined_func$~lib/array/Array#every317 (result i32) global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 7104 + i32.const 7168 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0334 + loop $for-loop|0319 local.get $0 local.get $2 local.get $1 @@ -20148,17 +20506,17 @@ local.get $6 local.get $0 local.get $1 - i32.const 7104 + i32.const 7168 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/array/Array#every331 + br_if $__inlined_func$~lib/array/Array#every317 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0334 + br $for-loop|0319 end end i32.const 1 @@ -20208,14 +20566,14 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 7136 + i32.const 7200 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0342 + loop $for-loop|0326 local.get $0 local.get $2 local.get $1 @@ -20241,7 +20599,7 @@ local.get $6 local.get $0 local.get $1 - i32.const 7136 + i32.const 7200 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some @@ -20250,7 +20608,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0342 + br $for-loop|0326 end end i32.const 0 @@ -20264,21 +20622,21 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#some346 (result i32) + block $__inlined_func$~lib/array/Array#some330 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr local.tee $1 i32.store $0 local.get $0 - i32.const 7168 + i32.const 7232 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0349 + loop $for-loop|0332 local.get $0 local.get $2 local.get $1 @@ -20304,16 +20662,16 @@ local.get $6 local.get $0 local.get $1 - i32.const 7168 + i32.const 7232 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some346 + br_if $__inlined_func$~lib/array/Array#some330 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0349 + br $for-loop|0332 end end i32.const 0 @@ -20326,21 +20684,21 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#some353 (result i32) + block $__inlined_func$~lib/array/Array#some336 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr local.tee $1 i32.store $0 local.get $0 - i32.const 7200 + i32.const 7264 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0356 + loop $for-loop|0338 local.get $0 local.get $2 local.get $1 @@ -20366,16 +20724,16 @@ local.get $6 local.get $0 local.get $1 - i32.const 7200 + i32.const 7264 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some353 + br_if $__inlined_func$~lib/array/Array#some336 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0356 + br $for-loop|0338 end end i32.const 0 @@ -20404,21 +20762,21 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#some362 (result i32) + block $__inlined_func$~lib/array/Array#some344 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr local.tee $1 i32.store $0 local.get $0 - i32.const 7232 + i32.const 7296 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0365 + loop $for-loop|0346 local.get $0 local.get $2 local.get $1 @@ -20444,16 +20802,16 @@ local.get $6 local.get $0 local.get $1 - i32.const 7232 + i32.const 7296 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some362 + br_if $__inlined_func$~lib/array/Array#some344 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0365 + br $for-loop|0346 end end i32.const 0 @@ -20495,20 +20853,20 @@ local.get $0 call $~lib/array/Array#pop drop - block $__inlined_func$~lib/array/Array#some369 (result i32) + block $__inlined_func$~lib/array/Array#some350 (result i32) global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 7264 + i32.const 7328 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0372 + loop $for-loop|0352 local.get $0 local.get $2 local.get $1 @@ -20534,16 +20892,16 @@ local.get $6 local.get $0 local.get $1 - i32.const 7264 + i32.const 7328 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some369 + br_if $__inlined_func$~lib/array/Array#some350 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0372 + br $for-loop|0352 end end i32.const 0 @@ -20593,14 +20951,14 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 7296 + i32.const 7360 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0380 + loop $for-loop|0359 local.get $0 local.get $2 local.get $1 @@ -20625,14 +20983,14 @@ local.get $6 local.get $0 local.get $1 - i32.const 7296 + i32.const 7360 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0380 + br $for-loop|0359 end end global.get $std/array/i @@ -20654,14 +21012,14 @@ local.tee $1 i32.store $0 local.get $0 - i32.const 7328 + i32.const 7392 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0387 + loop $for-loop|0365 local.get $0 local.get $2 local.get $1 @@ -20686,14 +21044,14 @@ local.get $6 local.get $0 local.get $1 - i32.const 7328 + i32.const 7392 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0387 + br $for-loop|0365 end end global.get $std/array/i @@ -20731,14 +21089,14 @@ local.tee $1 i32.store $0 local.get $0 - i32.const 7360 + i32.const 7424 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0396 + loop $for-loop|0373 local.get $0 local.get $2 local.get $1 @@ -20763,14 +21121,14 @@ local.get $6 local.get $0 local.get $1 - i32.const 7360 + i32.const 7424 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0396 + br $for-loop|0373 end end global.get $std/array/i @@ -20819,14 +21177,14 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 7392 + i32.const 7456 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0403 + loop $for-loop|0379 local.get $0 local.get $2 local.get $1 @@ -20851,14 +21209,14 @@ local.get $6 local.get $0 local.get $1 - i32.const 7392 + i32.const 7456 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0403 + br $for-loop|0379 end end global.get $std/array/i @@ -20907,14 +21265,14 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 7424 + i32.const 7488 i32.store $0 offset=8 i32.const 0 local.set $0 local.get $1 i32.load $0 offset=12 local.set $2 - loop $for-loop|0412 + loop $for-loop|0387 local.get $0 local.get $2 local.get $1 @@ -20939,14 +21297,14 @@ local.get $6 local.get $0 local.get $1 - i32.const 7424 + i32.const 7488 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0412 + br $for-loop|0387 end end global.get $~lib/memory/__stack_pointer @@ -21021,14 +21379,14 @@ local.tee $2 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 9232 + i32.const 9296 i32.store $0 offset=8 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 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -21050,7 +21408,7 @@ local.set $8 i32.const 0 local.set $1 - loop $for-loop|019 + loop $for-loop|018 local.get $1 local.get $6 local.get $2 @@ -21077,7 +21435,7 @@ local.get $10 local.get $1 local.get $2 - i32.const 9232 + i32.const 9296 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) local.tee $10 @@ -21098,7 +21456,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|019 + br $for-loop|018 end end global.get $~lib/memory/__stack_pointer @@ -21115,14 +21473,14 @@ local.tee $2 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 9264 + i32.const 9328 i32.store $0 offset=8 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 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -21144,7 +21502,7 @@ local.set $8 i32.const 0 local.set $1 - loop $for-loop|022 + loop $for-loop|020 local.get $1 local.get $6 local.get $2 @@ -21173,7 +21531,7 @@ local.get $10 local.get $1 local.get $2 - i32.const 9264 + i32.const 9328 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_f32) f32.store $0 @@ -21181,7 +21539,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|022 + br $for-loop|020 end end global.get $~lib/memory/__stack_pointer @@ -21233,10 +21591,10 @@ local.tee $1 i32.store $0 local.get $0 - i32.const 9296 + i32.const 9360 i32.store $0 offset=8 local.get $1 - i32.const 9296 + i32.const 9360 call $~lib/array/Array#map global.get $std/array/i i32.const 6 @@ -21273,10 +21631,10 @@ local.tee $1 i32.store $0 local.get $0 - i32.const 9328 + i32.const 9392 i32.store $0 offset=8 local.get $1 - i32.const 9328 + i32.const 9392 call $~lib/array/Array#map global.get $std/array/i i32.const 406 @@ -21324,10 +21682,10 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 9360 + i32.const 9424 i32.store $0 offset=8 local.get $0 - i32.const 9360 + i32.const 9424 call $~lib/array/Array#map global.get $std/array/i i32.const 1 @@ -21375,11 +21733,11 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 9392 + i32.const 9456 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 9392 + i32.const 9456 call $~lib/array/Array#filter local.tee $0 i32.store $0 offset=144 @@ -21403,10 +21761,10 @@ local.tee $1 i32.store $0 local.get $0 - i32.const 9424 + i32.const 9488 i32.store $0 offset=8 local.get $1 - i32.const 9424 + i32.const 9488 call $~lib/array/Array#filter drop global.get $std/array/i @@ -21444,10 +21802,10 @@ local.tee $1 i32.store $0 local.get $0 - i32.const 9456 + i32.const 9520 i32.store $0 offset=8 local.get $1 - i32.const 9456 + i32.const 9520 call $~lib/array/Array#filter drop global.get $std/array/i @@ -21496,10 +21854,10 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 9488 + i32.const 9552 i32.store $0 offset=8 local.get $0 - i32.const 9488 + i32.const 9552 call $~lib/array/Array#filter drop global.get $std/array/i @@ -21548,7 +21906,7 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 9520 + i32.const 9584 i32.store $0 offset=8 i32.const 0 local.set $1 @@ -21557,7 +21915,7 @@ local.get $0 i32.load $0 offset=12 local.set $6 - loop $for-loop|0442 + loop $for-loop|0416 local.get $2 local.get $6 local.get $0 @@ -21583,7 +21941,7 @@ local.get $7 local.get $2 local.get $0 - i32.const 9520 + i32.const 9584 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $1 @@ -21591,7 +21949,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|0442 + br $for-loop|0416 end end local.get $1 @@ -21613,7 +21971,7 @@ local.tee $6 i32.store $0 local.get $0 - i32.const 9552 + i32.const 9616 i32.store $0 offset=8 i32.const 4 local.set $1 @@ -21622,7 +21980,7 @@ local.get $6 i32.load $0 offset=12 local.set $0 - loop $for-loop|0449 + loop $for-loop|0422 local.get $2 local.get $0 local.get $6 @@ -21648,7 +22006,7 @@ local.get $7 local.get $2 local.get $6 - i32.const 9552 + i32.const 9616 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $1 @@ -21656,7 +22014,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|0449 + br $for-loop|0422 end end local.get $1 @@ -21678,7 +22036,7 @@ local.tee $6 i32.store $0 local.get $0 - i32.const 9584 + i32.const 9648 i32.store $0 offset=8 i32.const 0 local.set $1 @@ -21687,7 +22045,7 @@ local.get $6 i32.load $0 offset=12 local.set $0 - loop $for-loop|0456 + loop $for-loop|0428 local.get $2 local.get $0 local.get $6 @@ -21713,7 +22071,7 @@ local.get $7 local.get $2 local.get $6 - i32.const 9584 + i32.const 9648 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $1 @@ -21721,7 +22079,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|0456 + br $for-loop|0428 end end local.get $1 @@ -21740,7 +22098,7 @@ local.tee $6 i32.store $0 local.get $0 - i32.const 9616 + i32.const 9680 i32.store $0 offset=8 i32.const 0 local.set $1 @@ -21749,7 +22107,7 @@ local.get $6 i32.load $0 offset=12 local.set $0 - loop $for-loop|0463 + loop $for-loop|0434 local.get $2 local.get $0 local.get $6 @@ -21775,7 +22133,7 @@ local.get $7 local.get $2 local.get $6 - i32.const 9616 + i32.const 9680 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $1 @@ -21783,7 +22141,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|0463 + br $for-loop|0434 end end local.get $1 @@ -21801,7 +22159,7 @@ local.tee $6 i32.store $0 local.get $0 - i32.const 9648 + i32.const 9712 i32.store $0 offset=8 i32.const 0 local.set $1 @@ -21810,7 +22168,7 @@ local.get $6 i32.load $0 offset=12 local.set $0 - loop $for-loop|0470 + loop $for-loop|0440 local.get $2 local.get $0 local.get $6 @@ -21836,7 +22194,7 @@ local.get $7 local.get $2 local.get $6 - i32.const 9648 + i32.const 9712 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $1 @@ -21844,7 +22202,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|0470 + br $for-loop|0440 end end local.get $1 @@ -21882,7 +22240,7 @@ local.tee $6 i32.store $0 local.get $0 - i32.const 9680 + i32.const 9744 i32.store $0 offset=8 i32.const 0 local.set $1 @@ -21891,7 +22249,7 @@ local.get $6 i32.load $0 offset=12 local.set $0 - loop $for-loop|0479 + loop $for-loop|0448 local.get $2 local.get $0 local.get $6 @@ -21917,7 +22275,7 @@ local.get $7 local.get $2 local.get $6 - i32.const 9680 + i32.const 9744 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $1 @@ -21925,7 +22283,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|0479 + br $for-loop|0448 end end local.get $1 @@ -21974,7 +22332,7 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 9712 + i32.const 9776 i32.store $0 offset=8 i32.const 0 local.set $1 @@ -21983,7 +22341,7 @@ local.get $0 i32.load $0 offset=12 local.set $6 - loop $for-loop|0486 + loop $for-loop|0454 local.get $2 local.get $6 local.get $0 @@ -22009,7 +22367,7 @@ local.get $7 local.get $2 local.get $0 - i32.const 9712 + i32.const 9776 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $1 @@ -22017,7 +22375,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|0486 + br $for-loop|0454 end end local.get $1 @@ -22068,7 +22426,7 @@ local.tee $2 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 9744 + i32.const 9808 i32.store $0 offset=8 i32.const 0 local.set $0 @@ -22077,7 +22435,7 @@ i32.const 1 i32.sub local.set $1 - loop $for-loop|0494 + loop $for-loop|0461 local.get $1 i32.const 0 i32.ge_s @@ -22096,7 +22454,7 @@ local.get $6 local.get $1 local.get $2 - i32.const 9744 + i32.const 9808 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $0 @@ -22104,7 +22462,7 @@ i32.const 1 i32.sub local.set $1 - br $for-loop|0494 + br $for-loop|0461 end end local.get $0 @@ -22126,7 +22484,7 @@ local.tee $2 i32.store $0 local.get $0 - i32.const 9776 + i32.const 9840 i32.store $0 offset=8 i32.const 4 local.set $0 @@ -22135,7 +22493,7 @@ i32.const 1 i32.sub local.set $1 - loop $for-loop|0500 + loop $for-loop|0466 local.get $1 i32.const 0 i32.ge_s @@ -22154,7 +22512,7 @@ local.get $6 local.get $1 local.get $2 - i32.const 9776 + i32.const 9840 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $0 @@ -22162,7 +22520,7 @@ i32.const 1 i32.sub local.set $1 - br $for-loop|0500 + br $for-loop|0466 end end local.get $0 @@ -22184,7 +22542,7 @@ local.tee $2 i32.store $0 local.get $0 - i32.const 9808 + i32.const 9872 i32.store $0 offset=8 i32.const 0 local.set $0 @@ -22193,7 +22551,7 @@ i32.const 1 i32.sub local.set $1 - loop $for-loop|0506 + loop $for-loop|0471 local.get $1 i32.const 0 i32.ge_s @@ -22212,7 +22570,7 @@ local.get $6 local.get $1 local.get $2 - i32.const 9808 + i32.const 9872 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $0 @@ -22220,7 +22578,7 @@ i32.const 1 i32.sub local.set $1 - br $for-loop|0506 + br $for-loop|0471 end end local.get $0 @@ -22239,7 +22597,7 @@ local.tee $2 i32.store $0 local.get $0 - i32.const 9840 + i32.const 9904 i32.store $0 offset=8 i32.const 0 local.set $0 @@ -22248,7 +22606,7 @@ i32.const 1 i32.sub local.set $1 - loop $for-loop|0512 + loop $for-loop|0476 local.get $1 i32.const 0 i32.ge_s @@ -22267,7 +22625,7 @@ local.get $6 local.get $1 local.get $2 - i32.const 9840 + i32.const 9904 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $0 @@ -22275,7 +22633,7 @@ i32.const 1 i32.sub local.set $1 - br $for-loop|0512 + br $for-loop|0476 end end local.get $0 @@ -22293,7 +22651,7 @@ local.tee $2 i32.store $0 local.get $0 - i32.const 9872 + i32.const 9936 i32.store $0 offset=8 i32.const 0 local.set $0 @@ -22302,7 +22660,7 @@ i32.const 1 i32.sub local.set $1 - loop $for-loop|0518 + loop $for-loop|0481 local.get $1 i32.const 0 i32.ge_s @@ -22321,7 +22679,7 @@ local.get $6 local.get $1 local.get $2 - i32.const 9872 + i32.const 9936 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $0 @@ -22329,7 +22687,7 @@ i32.const 1 i32.sub local.set $1 - br $for-loop|0518 + br $for-loop|0481 end end local.get $0 @@ -22367,7 +22725,7 @@ local.tee $2 i32.store $0 local.get $0 - i32.const 9904 + i32.const 9968 i32.store $0 offset=8 i32.const 0 local.set $0 @@ -22376,7 +22734,7 @@ i32.const 1 i32.sub local.set $1 - loop $for-loop|0526 + loop $for-loop|0488 local.get $1 i32.const 0 i32.ge_s @@ -22395,7 +22753,7 @@ local.get $6 local.get $1 local.get $2 - i32.const 9904 + i32.const 9968 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $0 @@ -22403,7 +22761,7 @@ i32.const 1 i32.sub local.set $1 - br $for-loop|0526 + br $for-loop|0488 end end local.get $0 @@ -22452,7 +22810,7 @@ local.tee $2 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 9936 + i32.const 10000 i32.store $0 offset=8 i32.const 0 local.set $0 @@ -22461,7 +22819,7 @@ i32.const 1 i32.sub local.set $1 - loop $for-loop|0532 + loop $for-loop|0493 local.get $1 i32.const 0 i32.ge_s @@ -22480,7 +22838,7 @@ local.get $6 local.get $1 local.get $2 - i32.const 9936 + i32.const 10000 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) local.set $0 @@ -22488,7 +22846,7 @@ i32.const 1 i32.sub local.set $1 - br $for-loop|0532 + br $for-loop|0493 end end local.get $0 @@ -22966,7 +23324,7 @@ i32.const 3 i32.const 2 i32.const 9 - i32.const 10160 + i32.const 10224 call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=260 @@ -22977,7 +23335,7 @@ i32.const 3 i32.const 2 i32.const 9 - i32.const 10224 + i32.const 10288 call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer @@ -22999,7 +23357,7 @@ i32.const 8 i32.const 2 i32.const 9 - i32.const 10256 + i32.const 10320 call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=264 @@ -23010,7 +23368,7 @@ i32.const 8 i32.const 2 i32.const 9 - i32.const 10320 + i32.const 10384 call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer @@ -23032,7 +23390,7 @@ i32.const 8 i32.const 3 i32.const 12 - i32.const 10384 + i32.const 10448 call $~lib/rt/__newArray local.tee $2 i32.store $0 offset=268 @@ -23045,24 +23403,24 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of115 - block $0of116 - block $outOfRange17 + block $1of112 + block $0of113 + block $outOfRange14 global.get $~argumentsLength - br_table $0of116 $1of115 $outOfRange17 + br_table $0of113 $1of112 $outOfRange14 end unreachable end - i32.const 10480 + i32.const 10544 local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 10480 + i32.const 10544 i32.store $0 end local.get $2 @@ -23079,7 +23437,7 @@ i32.const 8 i32.const 3 i32.const 12 - i32.const 10512 + i32.const 10576 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -23102,7 +23460,7 @@ drop i32.const 0 local.set $1 - loop $for-loop|071 + loop $for-loop|068 local.get $1 local.get $6 i32.lt_s @@ -23158,7 +23516,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|071 + br $for-loop|068 end end i32.const 1 @@ -23176,7 +23534,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 10608 + i32.const 10672 call $~lib/rt/__newArray local.tee $1 i32.store $0 offset=272 @@ -23189,24 +23547,24 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of173 - block $0of174 - block $outOfRange75 + block $1of170 + block $0of171 + block $outOfRange72 global.get $~argumentsLength - br_table $0of174 $1of173 $outOfRange75 + br_table $0of171 $1of170 $outOfRange72 end unreachable end - i32.const 10656 + i32.const 10720 local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 10656 + i32.const 10720 i32.store $0 end local.get $1 @@ -23222,7 +23580,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 10688 + i32.const 10752 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -23245,7 +23603,7 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 10736 + i32.const 10800 call $~lib/rt/__newArray local.tee $1 i32.store $0 offset=276 @@ -23258,24 +23616,24 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of176 - block $0of177 - block $outOfRange78 + block $1of173 + block $0of174 + block $outOfRange75 global.get $~argumentsLength - br_table $0of177 $1of176 $outOfRange78 + br_table $0of174 $1of173 $outOfRange75 end unreachable end - i32.const 10784 + i32.const 10848 local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 10784 + i32.const 10848 i32.store $0 end local.get $1 @@ -23291,7 +23649,7 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 10816 + i32.const 10880 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -23313,7 +23671,7 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 10864 + i32.const 10928 call $~lib/rt/__newArray local.tee $1 i32.store $0 offset=280 @@ -23321,7 +23679,7 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 10896 + i32.const 10960 call $~lib/rt/__newArray local.tee $2 i32.store $0 offset=284 @@ -23329,7 +23687,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 10928 + i32.const 10992 call $~lib/rt/__newArray local.tee $6 i32.store $0 offset=288 @@ -23337,7 +23695,7 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 10960 + i32.const 11024 call $~lib/rt/__newArray local.tee $7 i32.store $0 offset=292 @@ -23345,7 +23703,7 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 11008 + i32.const 11072 call $~lib/rt/__newArray local.tee $8 i32.store $0 offset=296 @@ -23381,7 +23739,7 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 11088 + i32.const 11152 call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer @@ -23405,7 +23763,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 11120 + i32.const 11184 call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer @@ -23501,53 +23859,53 @@ end local.get $12 call $std/array/assertSortedDefault - i32.const 0 - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 i32.const 0 i32.const 24 memory.fill $0 - local.get $0 + local.get $2 global.get $std/array/inputStabArr - local.tee $2 + local.tee $1 i32.store $0 offset=8 - local.get $0 + i32.const 1 + global.set $~argumentsLength + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $0 i32.const 0 i32.store $0 - local.get $2 + local.get $1 i32.load $0 offset=12 - local.tee $7 + local.tee $6 i32.const 0 - local.get $7 + local.get $6 i32.const 0 i32.le_s select - local.set $8 + local.set $7 + local.get $0 local.get $6 local.get $7 - local.get $8 i32.sub - local.tee $6 + local.tee $0 i32.const 0 - local.get $6 + local.get $0 i32.const 0 i32.gt_s select @@ -23556,18 +23914,20 @@ i32.const 23 i32.const 0 call $~lib/rt/__newArray - local.tee $7 + local.tee $0 i32.store $0 - local.get $7 + local.get $0 i32.load $0 offset=4 - local.set $9 - local.get $2 + local.set $8 + local.get $1 i32.load $0 offset=4 - local.get $8 + local.get $7 i32.const 2 i32.shl i32.add - local.set $2 + local.set $7 + i32.const 0 + local.set $1 local.get $6 i32.const 2 i32.shl @@ -23578,18 +23938,18 @@ i32.lt_u if local.get $1 - local.get $9 + local.get $8 i32.add local.get $1 - local.get $2 + local.get $7 i32.add i32.load $0 - local.tee $8 + local.tee $9 i32.store $0 - local.get $8 + local.get $9 if - local.get $7 - local.get $8 + local.get $0 + local.get $9 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end @@ -23605,42 +23965,43 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 11152 + i32.const 11216 i32.store $0 offset=4 - local.get $7 + local.get $0 i32.load $0 offset=4 - local.get $7 + local.get $0 i32.load $0 offset=12 - i32.const 11152 + i32.const 11216 call $~lib/util/sort/SORT + local.get $2 local.get $0 - local.get $7 + local.tee $1 i32.store $0 offset=12 i32.const 1 - local.set $2 + local.set $0 i32.const 0 - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer global.get $std/array/inputStabArr - local.tee $0 + local.tee $6 i32.store $0 - local.get $0 + local.get $6 i32.load $0 offset=12 - local.set $0 - loop $for-loop|02 - local.get $0 - local.get $1 - i32.gt_s - if - block $for-break0 + local.set $6 + loop $for-loop|03 + local.get $2 + local.get $6 + i32.lt_s + if + block $for-break0 global.get $~lib/memory/__stack_pointer - local.get $7 local.get $1 + local.get $2 call $~lib/array/Array#__get - local.tee $6 + local.tee $7 i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer global.get $std/array/outputStabArr @@ -23648,11 +24009,11 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.get $8 - local.get $1 + local.get $2 call $~lib/array/Array#__get local.tee $8 i32.store $0 offset=20 - local.get $6 + local.get $7 i32.load $0 local.get $8 i32.load $0 @@ -23660,7 +24021,7 @@ if (result i32) i32.const 1 else - local.get $6 + local.get $7 i32.load $0 offset=4 local.get $8 i32.load $0 offset=4 @@ -23668,18 +24029,18 @@ end if i32.const 0 - local.set $2 + local.set $0 br $for-break0 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 - br $for-loop|02 + local.set $2 + br $for-loop|03 end end end - local.get $2 + local.get $0 i32.eqz if i32.const 0 @@ -23704,28 +24065,28 @@ local.tee $1 i32.store $0 offset=324 global.get $~lib/memory/__stack_pointer - i32.const 11184 + i32.const 11248 i32.store $0 offset=8 local.get $0 - i32.const 11184 + i32.const 11248 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer - i32.const 11216 + i32.const 11280 i32.store $0 offset=8 local.get $0 - i32.const 11216 + i32.const 11280 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer - i32.const 11248 + i32.const 11312 i32.store $0 offset=8 local.get $1 - i32.const 11248 + i32.const 11312 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer - i32.const 11280 + i32.const 11344 i32.store $0 offset=8 local.get $1 - i32.const 11280 + i32.const 11344 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer local.set $0 @@ -23734,7 +24095,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23746,7 +24107,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23805,7 +24166,7 @@ i32.store $0 i32.const 0 local.set $1 - loop $for-loop|080 + loop $for-loop|076 local.get $1 i32.const 2 i32.lt_s @@ -23829,7 +24190,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|080 + br $for-loop|076 end end global.get $~lib/memory/__stack_pointer @@ -23840,10 +24201,10 @@ local.get $2 i32.store $0 offset=328 global.get $~lib/memory/__stack_pointer - i32.const 11312 + i32.const 11376 i32.store $0 offset=8 local.get $2 - i32.const 11312 + i32.const 11376 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer local.set $0 @@ -23854,7 +24215,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23866,7 +24227,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23923,7 +24284,7 @@ local.get $2 local.get $6 i32.store $0 - loop $for-loop|03 + loop $for-loop|06 local.get $1 i32.const 512 i32.lt_s @@ -23933,7 +24294,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -23966,7 +24327,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|03 + br $for-loop|06 end end global.get $~lib/memory/__stack_pointer @@ -23977,16 +24338,16 @@ local.get $6 i32.store $0 offset=332 global.get $~lib/memory/__stack_pointer - i32.const 11344 + i32.const 11408 i32.store $0 offset=8 local.get $6 - i32.const 11344 + i32.const 11408 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer i32.const 7 i32.const 2 i32.const 34 - i32.const 11536 + i32.const 11600 call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=336 @@ -23994,7 +24355,7 @@ i32.const 7 i32.const 2 i32.const 34 - i32.const 11584 + i32.const 11648 call $~lib/rt/__newArray local.tee $6 i32.store $0 offset=340 @@ -24007,26 +24368,26 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of15 - block $0of16 - block $outOfRange7 + block $1of18 + block $0of19 + block $outOfRange10 global.get $~argumentsLength i32.const 1 i32.sub - br_table $0of16 $1of15 $outOfRange7 + br_table $0of19 $1of18 $outOfRange10 end unreachable end - i32.const 11632 + i32.const 11696 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 11632 + i32.const 11696 i32.store $0 end global.get $~lib/memory/__stack_pointer @@ -24034,7 +24395,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -24055,7 +24416,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -24066,7 +24427,7 @@ local.get $0 i32.load $0 offset=12 local.set $7 - loop $for-loop|08 + loop $for-loop|012 local.get $1 local.get $7 i32.lt_s @@ -24108,7 +24469,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|08 + br $for-loop|012 end end global.get $~lib/memory/__stack_pointer @@ -24140,7 +24501,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -24173,7 +24534,7 @@ end i32.const 0 local.set $1 - loop $for-loop|04 + loop $for-loop|011 local.get $1 local.get $2 i32.lt_s @@ -24208,7 +24569,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|04 + br $for-loop|011 end end global.get $~lib/memory/__stack_pointer @@ -24239,26 +24600,26 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1559 - block $0of1560 - block $outOfRange561 + block $1of1520 + block $0of1521 + block $outOfRange522 global.get $~argumentsLength i32.const 1 i32.sub - br_table $0of1560 $1of1559 $outOfRange561 + br_table $0of1521 $1of1520 $outOfRange522 end unreachable end - i32.const 11664 + i32.const 11728 local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 11664 + i32.const 11728 i32.store $0 end local.get $1 @@ -24271,14 +24632,14 @@ i32.const 2 i32.const 0 i32.const 37 - i32.const 11696 + i32.const 11760 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 offset=348 global.get $~lib/memory/__stack_pointer - i32.const 11792 + i32.const 11856 i32.store $0 offset=352 i32.const 0 local.set $2 @@ -24293,7 +24654,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -24311,15 +24672,15 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinBooleanArray end local.get $7 i32.eqz if - i32.const 11728 - i32.const 11760 + i32.const 11792 + i32.const 11824 local.get $6 i32.load8_u $0 select @@ -24331,7 +24692,7 @@ br $__inlined_func$~lib/util/string/joinBooleanArray end global.get $~lib/memory/__stack_pointer - i32.const 11788 + i32.const 11852 i32.load $0 i32.const 1 i32.shr_u @@ -24351,7 +24712,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|120 + loop $for-loop|117 local.get $2 local.get $7 i32.lt_s @@ -24370,8 +24731,8 @@ i32.const 1 i32.shl i32.add - i32.const 11728 - i32.const 11760 + i32.const 11792 + i32.const 11824 local.get $10 select local.get $11 @@ -24389,7 +24750,7 @@ i32.const 1 i32.shl i32.add - i32.const 11792 + i32.const 11856 local.get $8 i32.const 1 i32.shl @@ -24403,7 +24764,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|120 + br $for-loop|117 end end local.get $6 @@ -24420,8 +24781,8 @@ i32.const 1 i32.shl i32.add - i32.const 11728 - i32.const 11760 + i32.const 11792 + i32.const 11824 local.get $2 select local.get $6 @@ -24457,10 +24818,10 @@ local.get $0 i32.store $0 local.get $1 - i32.const 11824 + i32.const 11888 i32.store $0 offset=8 local.get $0 - i32.const 11824 + i32.const 11888 call $~lib/string/String.__eq i32.eqz if @@ -24474,7 +24835,7 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 11872 + i32.const 11936 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -24482,20 +24843,20 @@ local.get $0 i32.store $0 offset=348 local.get $1 - i32.const 11504 + i32.const 11568 i32.store $0 offset=352 local.get $0 - i32.const 11504 + i32.const 11568 call $~lib/array/Array#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 11904 + i32.const 11968 i32.store $0 offset=8 local.get $0 - i32.const 11904 + i32.const 11968 call $~lib/string/String.__eq i32.eqz if @@ -24509,7 +24870,7 @@ i32.const 3 i32.const 2 i32.const 8 - i32.const 11936 + i32.const 12000 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -24517,20 +24878,20 @@ local.get $0 i32.store $0 offset=348 local.get $1 - i32.const 11968 + i32.const 12032 i32.store $0 offset=352 local.get $0 - i32.const 11968 + i32.const 12032 call $~lib/array/Array#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 11904 + i32.const 11968 i32.store $0 offset=8 local.get $0 - i32.const 11904 + i32.const 11968 call $~lib/string/String.__eq i32.eqz if @@ -24544,7 +24905,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 12000 + i32.const 12064 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -24552,20 +24913,20 @@ local.get $0 i32.store $0 offset=348 local.get $1 - i32.const 12032 + i32.const 12096 i32.store $0 offset=352 local.get $0 - i32.const 12032 + i32.const 12096 call $~lib/array/Array#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 12064 + i32.const 12128 i32.store $0 offset=8 local.get $0 - i32.const 12064 + i32.const 12128 call $~lib/string/String.__eq i32.eqz if @@ -24579,7 +24940,7 @@ i32.const 6 i32.const 3 i32.const 12 - i32.const 12144 + i32.const 12208 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -24587,7 +24948,7 @@ local.get $0 i32.store $0 offset=348 local.get $1 - i32.const 12224 + i32.const 12288 i32.store $0 offset=352 local.get $0 call $~lib/array/Array#join @@ -24596,10 +24957,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 13392 + i32.const 13456 i32.store $0 offset=8 local.get $0 - i32.const 13392 + i32.const 13456 call $~lib/string/String.__eq i32.eqz if @@ -24613,7 +24974,7 @@ i32.const 3 i32.const 2 i32.const 34 - i32.const 13536 + i32.const 13600 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -24621,23 +24982,20 @@ local.get $0 i32.store $0 offset=348 local.get $1 - i32.const 11504 + i32.const 11568 i32.store $0 offset=352 local.get $0 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=12 - i32.const 11504 - call $~lib/util/string/joinStringArray + i32.const 11568 + call $~lib/array/Array<~lib/string/String|null>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 13504 + i32.const 13568 i32.store $0 offset=8 local.get $0 - i32.const 13504 + i32.const 13568 call $~lib/string/String.__eq i32.eqz if @@ -24679,7 +25037,7 @@ local.get $1 i32.store $0 offset=364 global.get $~lib/memory/__stack_pointer - i32.const 11792 + i32.const 11856 i32.store $0 offset=352 local.get $1 call $~lib/array/Array#join @@ -24688,10 +25046,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 13632 + i32.const 13696 i32.store $0 offset=8 local.get $0 - i32.const 13632 + i32.const 13696 call $~lib/string/String.__eq i32.eqz if @@ -24729,7 +25087,7 @@ local.get $1 i32.store $0 offset=376 global.get $~lib/memory/__stack_pointer - i32.const 11792 + i32.const 11856 i32.store $0 offset=352 local.get $1 call $~lib/array/Array#join @@ -24738,10 +25096,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 13728 + i32.const 13792 i32.store $0 offset=8 local.get $0 - i32.const 13728 + i32.const 13792 call $~lib/string/String.__eq i32.eqz if @@ -24756,7 +25114,7 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 13824 + i32.const 13888 call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=380 @@ -24764,7 +25122,7 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 13856 + i32.const 13920 call $~lib/rt/__newArray local.tee $1 i32.store $0 offset=384 @@ -24772,7 +25130,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 13888 + i32.const 13952 call $~lib/rt/__newArray local.tee $2 i32.store $0 offset=388 @@ -24780,7 +25138,7 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 13920 + i32.const 13984 call $~lib/rt/__newArray local.tee $6 i32.store $0 offset=392 @@ -24791,10 +25149,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 i32.store $0 offset=8 local.get $0 - i32.const 11504 + i32.const 11568 call $~lib/string/String.__eq i32.eqz if @@ -24813,10 +25171,10 @@ local.get $0 i32.store $0 local.get $1 - i32.const 13504 + i32.const 13568 i32.store $0 offset=8 local.get $0 - i32.const 13504 + i32.const 13568 call $~lib/string/String.__eq i32.eqz if @@ -24835,10 +25193,10 @@ local.get $0 i32.store $0 local.get $1 - i32.const 13968 + i32.const 14032 i32.store $0 offset=8 local.get $0 - i32.const 13968 + i32.const 14032 call $~lib/string/String.__eq i32.eqz if @@ -24857,10 +25215,10 @@ local.get $0 i32.store $0 local.get $1 - i32.const 14000 + i32.const 14064 i32.store $0 offset=8 local.get $0 - i32.const 14000 + i32.const 14064 call $~lib/string/String.__eq i32.eqz if @@ -24874,7 +25232,7 @@ i32.const 3 i32.const 0 i32.const 38 - i32.const 14048 + i32.const 14112 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -24887,10 +25245,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 14080 + i32.const 14144 i32.store $0 offset=8 local.get $0 - i32.const 14080 + i32.const 14144 call $~lib/string/String.__eq i32.eqz if @@ -24904,7 +25262,7 @@ i32.const 3 i32.const 0 i32.const 38 - i32.const 14112 + i32.const 14176 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -24917,10 +25275,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 14144 + i32.const 14208 i32.store $0 offset=8 local.get $0 - i32.const 14144 + i32.const 14208 call $~lib/string/String.__eq i32.eqz if @@ -24934,7 +25292,7 @@ i32.const 3 i32.const 1 i32.const 11 - i32.const 14192 + i32.const 14256 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -24946,7 +25304,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -24954,7 +25312,7 @@ i32.const 0 i32.store $0 local.get $1 - i32.const 11792 + i32.const 11856 i32.store $0 i32.const 0 local.set $2 @@ -24969,7 +25327,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -24987,7 +25345,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end @@ -25005,7 +25363,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - i32.const 11788 + i32.const 11852 i32.load $0 i32.const 1 i32.shr_u @@ -25025,7 +25383,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|021 + loop $for-loop|019 local.get $2 local.get $7 i32.lt_s @@ -25052,7 +25410,7 @@ i32.const 1 i32.shl i32.add - i32.const 11792 + i32.const 11856 local.get $8 i32.const 1 i32.shl @@ -25066,7 +25424,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|021 + br $for-loop|019 end end local.get $1 @@ -25112,10 +25470,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 14224 + i32.const 14288 i32.store $0 offset=8 local.get $0 - i32.const 14224 + i32.const 14288 call $~lib/string/String.__eq i32.eqz if @@ -25129,7 +25487,7 @@ i32.const 2 i32.const 1 i32.const 39 - i32.const 14272 + i32.const 14336 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -25141,7 +25499,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25149,7 +25507,7 @@ i32.const 0 i32.store $0 local.get $1 - i32.const 11792 + i32.const 11856 i32.store $0 i32.const 0 local.set $2 @@ -25164,7 +25522,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25182,7 +25540,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end @@ -25200,7 +25558,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - i32.const 11788 + i32.const 11852 i32.load $0 i32.const 1 i32.shr_u @@ -25220,7 +25578,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|023 + loop $for-loop|021 local.get $2 local.get $7 i32.lt_s @@ -25247,7 +25605,7 @@ i32.const 1 i32.shl i32.add - i32.const 11792 + i32.const 11856 local.get $8 i32.const 1 i32.shl @@ -25261,7 +25619,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|023 + br $for-loop|021 end end local.get $1 @@ -25307,10 +25665,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 14304 + i32.const 14368 i32.store $0 offset=8 local.get $0 - i32.const 14304 + i32.const 14368 call $~lib/string/String.__eq i32.eqz if @@ -25324,7 +25682,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 14352 + i32.const 14416 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -25337,10 +25695,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 14384 + i32.const 14448 i32.store $0 offset=8 local.get $0 - i32.const 14384 + i32.const 14448 call $~lib/string/String.__eq i32.eqz if @@ -25354,7 +25712,7 @@ i32.const 3 i32.const 3 i32.const 40 - i32.const 14448 + i32.const 14512 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -25366,7 +25724,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25374,7 +25732,7 @@ i32.const 0 i32.store $0 local.get $1 - i32.const 11792 + i32.const 11856 i32.store $0 local.get $0 call $~lib/array/Array#join @@ -25387,10 +25745,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 14496 + i32.const 14560 i32.store $0 offset=8 local.get $0 - i32.const 14496 + i32.const 14560 call $~lib/string/String.__eq i32.eqz if @@ -25404,7 +25762,7 @@ i32.const 5 i32.const 3 i32.const 41 - i32.const 14576 + i32.const 14640 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -25416,7 +25774,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25424,7 +25782,7 @@ i32.const 0 i32.store $0 local.get $1 - i32.const 11792 + i32.const 11856 i32.store $0 i32.const 0 local.set $2 @@ -25439,7 +25797,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25457,7 +25815,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end @@ -25474,7 +25832,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25487,7 +25845,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 7648 + i32.const 7712 br $__inlined_func$~lib/util/number/itoa64 end i64.const 0 @@ -25658,7 +26016,7 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - i32.const 11788 + i32.const 11852 i32.load $0 i32.const 1 i32.shr_u @@ -25678,7 +26036,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|024 + loop $for-loop|022 local.get $2 local.get $7 i32.lt_s @@ -25705,7 +26063,7 @@ i32.const 1 i32.shl i32.add - i32.const 11792 + i32.const 11856 local.get $8 i32.const 1 i32.shl @@ -25719,7 +26077,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|024 + br $for-loop|022 end end local.get $1 @@ -25765,10 +26123,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 14640 + i32.const 14704 i32.store $0 offset=8 local.get $0 - i32.const 14640 + i32.const 14704 call $~lib/string/String.__eq i32.eqz if @@ -25783,7 +26141,7 @@ i32.const 7 i32.const 2 i32.const 34 - i32.const 14800 + i32.const 14864 call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=396 @@ -25794,10 +26152,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 14848 + i32.const 14912 i32.store $0 offset=8 local.get $0 - i32.const 14848 + i32.const 14912 call $~lib/string/String.__eq i32.eqz if @@ -25811,7 +26169,7 @@ i32.const 4 i32.const 2 i32.const 34 - i32.const 14960 + i32.const 15024 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer @@ -25824,10 +26182,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 15008 + i32.const 15072 i32.store $0 offset=8 local.get $0 - i32.const 15008 + i32.const 15072 call $~lib/string/String.__eq i32.eqz if @@ -25856,7 +26214,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 15040 + i32.const 15104 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $1 @@ -25864,7 +26222,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 15072 + i32.const 15136 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $0 @@ -25875,7 +26233,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25883,7 +26241,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 11792 + i32.const 11856 i32.store $0 i32.const 0 local.set $2 @@ -25898,7 +26256,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -25920,7 +26278,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end @@ -25937,7 +26295,7 @@ local.get $0 call $~lib/array/Array#toString else - i32.const 11504 + i32.const 11568 end local.set $0 global.get $~lib/memory/__stack_pointer @@ -25946,17 +26304,17 @@ global.set $~lib/memory/__stack_pointer br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end - i32.const 11504 + i32.const 11568 local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 i32.store $0 offset=4 - i32.const 11788 + i32.const 11852 i32.load $0 i32.const 1 i32.shr_u local.set $7 - loop $for-loop|025 + loop $for-loop|023 local.get $1 local.get $2 i32.gt_s @@ -25991,7 +26349,7 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 11792 + i32.const 11856 call $~lib/string/String.__concat local.tee $0 i32.store $0 offset=4 @@ -26000,7 +26358,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|025 + br $for-loop|023 end end global.get $~lib/memory/__stack_pointer @@ -26042,10 +26400,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 15104 + i32.const 15168 i32.store $0 offset=8 local.get $0 - i32.const 15104 + i32.const 15168 call $~lib/string/String.__eq i32.eqz if @@ -26074,7 +26432,7 @@ i32.const 2 i32.const 0 i32.const 7 - i32.const 15152 + i32.const 15216 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $1 @@ -26082,7 +26440,7 @@ i32.const 2 i32.const 0 i32.const 7 - i32.const 15184 + i32.const 15248 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $0 @@ -26093,7 +26451,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -26101,7 +26459,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 11792 + i32.const 11856 i32.store $0 i32.const 0 local.set $2 @@ -26116,7 +26474,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -26138,7 +26496,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end @@ -26155,7 +26513,7 @@ local.get $0 call $~lib/array/Array#toString else - i32.const 11504 + i32.const 11568 end local.set $0 global.get $~lib/memory/__stack_pointer @@ -26164,17 +26522,17 @@ global.set $~lib/memory/__stack_pointer br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end - i32.const 11504 + i32.const 11568 local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 i32.store $0 offset=4 - i32.const 11788 + i32.const 11852 i32.load $0 i32.const 1 i32.shr_u local.set $7 - loop $for-loop|026 + loop $for-loop|024 local.get $1 local.get $2 i32.gt_s @@ -26209,7 +26567,7 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 11792 + i32.const 11856 call $~lib/string/String.__concat local.tee $0 i32.store $0 offset=4 @@ -26218,7 +26576,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|026 + br $for-loop|024 end end global.get $~lib/memory/__stack_pointer @@ -26260,10 +26618,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 15104 + i32.const 15168 i32.store $0 offset=8 local.get $0 - i32.const 15104 + i32.const 15168 call $~lib/string/String.__eq i32.eqz if @@ -26304,7 +26662,7 @@ i32.const 1 i32.const 2 i32.const 8 - i32.const 15216 + i32.const 15280 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $1 @@ -26319,7 +26677,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -26327,7 +26685,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 11792 + i32.const 11856 i32.store $0 i32.const 0 local.set $2 @@ -26342,7 +26700,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -26364,7 +26722,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 local.set $0 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> end @@ -26381,7 +26739,7 @@ local.get $0 call $~lib/array/Array<~lib/array/Array>#toString else - i32.const 11504 + i32.const 11568 end local.set $0 global.get $~lib/memory/__stack_pointer @@ -26390,17 +26748,17 @@ global.set $~lib/memory/__stack_pointer br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> end - i32.const 11504 + i32.const 11568 local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 i32.store $0 offset=4 - i32.const 11788 + i32.const 11852 i32.load $0 i32.const 1 i32.shr_u local.set $7 - loop $for-loop|027 + loop $for-loop|025 local.get $1 local.get $2 i32.gt_s @@ -26435,7 +26793,7 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 11792 + i32.const 11856 call $~lib/string/String.__concat local.tee $0 i32.store $0 offset=4 @@ -26444,7 +26802,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|027 + br $for-loop|025 end end global.get $~lib/memory/__stack_pointer @@ -26486,10 +26844,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 13504 + i32.const 13568 i32.store $0 offset=8 local.get $0 - i32.const 13504 + i32.const 13568 call $~lib/string/String.__eq i32.eqz if @@ -26518,7 +26876,7 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 15248 + i32.const 15312 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $1 @@ -26526,7 +26884,7 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 15280 + i32.const 15344 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $1 @@ -26534,7 +26892,7 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 15312 + i32.const 15376 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $1 @@ -26542,7 +26900,7 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 15344 + i32.const 15408 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $0 @@ -26610,7 +26968,7 @@ i32.const 1 i32.const 2 i32.const 34 - i32.const 15408 + i32.const 15472 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $1 @@ -26618,7 +26976,7 @@ i32.const 3 i32.const 2 i32.const 34 - i32.const 15504 + i32.const 15568 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $1 @@ -26626,7 +26984,7 @@ i32.const 3 i32.const 2 i32.const 34 - i32.const 15632 + i32.const 15696 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $1 @@ -26634,7 +26992,7 @@ i32.const 1 i32.const 2 i32.const 34 - i32.const 15696 + i32.const 15760 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $0 @@ -26647,7 +27005,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -26663,7 +27021,7 @@ local.set $2 i32.const 0 local.set $1 - loop $for-loop|083 + loop $for-loop|078 local.get $1 local.get $8 i32.lt_s @@ -26688,7 +27046,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|083 + br $for-loop|078 end end global.get $~lib/memory/__stack_pointer @@ -26729,7 +27087,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|186 + loop $for-loop|180 local.get $0 local.get $8 i32.lt_s @@ -26762,12 +27120,12 @@ i32.const 1 i32.add local.set $0 - br $for-loop|186 + br $for-loop|180 end end i32.const 0 local.set $0 - loop $for-loop|289 + loop $for-loop|282 local.get $0 local.get $2 i32.lt_s @@ -26789,7 +27147,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|289 + br $for-loop|282 end end global.get $~lib/memory/__stack_pointer @@ -26803,7 +27161,7 @@ i32.const 8 i32.const 2 i32.const 34 - i32.const 15728 + i32.const 15792 call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=476 @@ -26878,7 +27236,7 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 15792 + i32.const 15856 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $1 @@ -26886,7 +27244,7 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 15824 + i32.const 15888 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $0 @@ -26926,7 +27284,7 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 15856 + i32.const 15920 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $2 @@ -26934,7 +27292,7 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 15888 + i32.const 15952 call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $0 @@ -26943,14 +27301,14 @@ global.get $~lib/memory/__stack_pointer local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 15920 + i32.const 15984 i32.store $0 offset=348 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 16128 + i32.const 16192 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -26975,7 +27333,7 @@ local.set $8 i32.const 0 local.set $1 - loop $for-loop|0584 + loop $for-loop|0544 local.get $1 local.get $6 local.get $2 @@ -27005,7 +27363,7 @@ local.get $11 local.get $1 local.get $2 - i32.const 15920 + i32.const 15984 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) local.tee $9 @@ -27026,7 +27384,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|0584 + br $for-loop|0544 end end global.get $~lib/memory/__stack_pointer @@ -27111,18 +27469,18 @@ global.set $std/array/inputStabArr i32.const 0 global.set $std/array/outputStabArr - i32.const 48896 + i32.const 48960 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 i32.gt_s if - loop $while-continue|0590 + loop $while-continue|0550 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|0590 + br $while-continue|0550 end end end @@ -27152,8 +27510,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27168,11 +27526,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27257,11 +27615,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27294,11 +27652,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27360,11 +27718,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27402,11 +27760,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27473,11 +27831,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27576,11 +27934,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27692,11 +28050,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27803,11 +28161,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27861,11 +28219,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27912,11 +28270,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -27932,7 +28290,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 7648 + i32.const 7712 return end global.get $~lib/memory/__stack_pointer @@ -28031,11 +28389,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28113,11 +28471,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28193,7 +28551,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -28212,7 +28570,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -28248,8 +28606,8 @@ local.get $0 return end - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28262,11 +28620,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28283,10 +28641,10 @@ end unreachable end - i32.const 10192 + i32.const 10256 local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 10192 + i32.const 10256 i32.store $0 end local.get $0 @@ -28308,11 +28666,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28361,11 +28719,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28415,11 +28773,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28473,7 +28831,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11504 + i32.const 11568 return end local.get $3 @@ -28518,11 +28876,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -28538,7 +28896,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 7648 + i32.const 7712 return end global.get $~lib/memory/__stack_pointer @@ -28605,214 +28963,6 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - 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 16128 - i32.lt_s - if - i32.const 48928 - i32.const 48976 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.tee $5 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11504 - return - end - local.get $5 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.load $0 - local.tee $0 - i32.store $0 - local.get $1 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 11504 - local.get $0 - select - return - end - loop $for-loop|0 - local.get $1 - local.get $4 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $6 - i32.store $0 offset=4 - local.get $6 - if - local.get $3 - local.get $6 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.add - local.set $3 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - local.get $5 - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=8 - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $5 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $7 - i32.store $0 offset=4 - local.get $7 - if - local.get $6 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $7 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $7 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $7 - i32.add - local.set $1 - end - local.get $4 - if - local.get $6 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $4 - i32.add - local.set $1 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 offset=4 - local.get $0 - if - local.get $6 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - memory.copy $0 $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) (func $~lib/array/Array<~lib/array/Array>#flat (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -28825,11 +28975,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16192 i32.lt_s if - i32.const 48928 - i32.const 48976 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 call $~lib/builtins/abort diff --git a/tests/compiler/std/date.debug.wat b/tests/compiler/std/date.debug.wat index 8cdf850e09..bb9d2c0701 100644 --- a/tests/compiler/std/date.debug.wat +++ b/tests/compiler/std/date.debug.wat @@ -2,8 +2,8 @@ (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) - (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) + (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_none (func_subtype func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) @@ -3794,6 +3794,25 @@ end i32.const -1 ) + (func $~lib/string/String#substring@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $start + local.get $end + call $~lib/string/String#substring + ) (func $~lib/array/Array<~lib/string/String>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -4010,6 +4029,27 @@ call $~lib/array/Array<~lib/string/String>#set:length_ local.get $len ) + (func $~lib/string/String#split@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $separator i32) (param $limit i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $separator + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $limit + end + local.get $this + local.get $separator + local.get $limit + call $~lib/string/String#split + ) (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array<~lib/string/String>#get:length_ @@ -5822,8 +5862,10 @@ local.get $posT i32.const 1 i32.add - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substring + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substring@varargs local.tee $timeString i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer @@ -5834,8 +5876,10 @@ local.get $17 i32.store $0 local.get $17 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs local.tee $timeParts i32.store $0 offset=12 local.get $timeParts @@ -5914,8 +5958,10 @@ local.get $posDot i32.const 1 i32.add - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substring + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substring@varargs local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 @@ -5940,8 +5986,10 @@ local.get $17 i32.store $0 local.get $17 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs local.tee $parts i32.store $0 offset=24 local.get $parts diff --git a/tests/compiler/std/date.release.wat b/tests/compiler/std/date.release.wat index b61c9fbd2a..f4edd491a8 100644 --- a/tests/compiler/std/date.release.wat +++ b/tests/compiler/std/date.release.wat @@ -5,8 +5,8 @@ (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i64_=>_i32 (func_subtype (param i64) (result i32) func)) (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) + (type $i64_=>_i32 (func_subtype (param i64) (result i32) func)) (type $i32_i32_i32_i32_i32_i32_i32_=>_i64 (func_subtype (param i32 i32 i32 i32 i32 i32 i32) (result i64) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -2411,6 +2411,222 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $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 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + block $__inlined_func$~lib/util/string/joinStringArray + local.get $4 + i32.const 1 + i32.sub + local.tee $5 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3456 + local.set $1 + br $__inlined_func$~lib/util/string/joinStringArray + end + local.get $5 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.load $0 + local.tee $0 + i32.store $0 + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 3456 + local.get $0 + select + local.set $1 + br $__inlined_func$~lib/util/string/joinStringArray + end + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $6 + i32.store $0 offset=4 + local.get $6 + if + local.get $1 + local.get $6 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.add + local.set $1 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 3452 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $4 + local.get $5 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=8 + loop $for-loop|1 + local.get $3 + local.get $5 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $6 + i32.store $0 offset=4 + local.get $6 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $6 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $6 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $2 + local.get $6 + i32.add + local.set $2 + end + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 3456 + local.get $4 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $0 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + memory.copy $0 $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + end + local.get $1 + ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $0 @@ -2601,6 +2817,26 @@ end i32.const -1 ) + (func $~lib/string/String#substring@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/string/String#substring + ) (func $~lib/array/Array<~lib/string/String>#push (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -2737,6 +2973,28 @@ local.get $7 i32.store $0 offset=12 ) + (func $~lib/string/String#split@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const 2147483647 + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/string/String#split + ) (func $~lib/util/string/strtol (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -3537,11 +3795,7 @@ i32.const 3456 i32.store $0 offset=4 i32.const 3616 - i32.const 3612 - i32.load $0 - i32.const 2 - i32.shr_u - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer i32.const 36 @@ -3757,11 +4011,7 @@ i32.const 3456 i32.store $0 offset=32 i32.const 5152 - i32.const 5148 - i32.load $0 - i32.const 2 - i32.shr_u - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer i32.const 36 @@ -3881,11 +4131,7 @@ i32.const 3456 i32.store $0 offset=16 i32.const 5456 - i32.const 5452 - i32.load $0 - i32.const 2 - i32.shr_u - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer i32.const 20 @@ -4176,11 +4422,7 @@ i32.const 3456 i32.store $0 offset=44 i32.const 6368 - i32.const 6364 - i32.load $0 - i32.const 2 - i32.shr_u - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer i32.const 48 @@ -4188,8 +4430,7 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/string/String#split (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/string/String#split (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4197,6 +4438,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 36 i32.sub @@ -4218,39 +4460,49 @@ memory.fill $0 block $folding-inner2 block $folding-inner1 - local.get $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 1 - call $~lib/rt/__newArray - local.tee $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 offset=4 - i32.store $0 offset=4 + block $folding-inner0 local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.store $0 - local.get $0 + i32.eqz + br_if $folding-inner0 + local.get $1 + i32.eqz if - local.get $2 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/rt/__newArray + local.tee $3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load $0 offset=4 + i32.store $0 offset=4 + local.get $3 + i32.load $0 offset=4 + local.get $0 + i32.store $0 + local.get $0 + if + local.get $3 + local.get $0 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + br $folding-inner1 end - br $folding-inner1 - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.set $4 - block $folding-inner0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $5 + i32.const 2147483647 + local.get $2 + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 local.get $1 i32.const 20 i32.sub @@ -4259,43 +4511,43 @@ i32.shr_u local.tee $8 if - local.get $4 + local.get $5 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/rt/__newArray - local.tee $2 + local.tee $3 i32.store $0 offset=16 - local.get $2 + local.get $3 i32.load $0 offset=4 i32.const 3456 i32.store $0 br $folding-inner1 end else - local.get $4 + local.get $5 i32.eqz br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 2147483647 - local.get $4 - local.get $4 - i32.const 2147483647 - i32.eq + local.get $5 + local.get $2 + local.get $2 + local.get $5 + i32.gt_s select - local.tee $3 - call $~lib/rt/__newArray local.tee $2 + call $~lib/rt/__newArray + local.tee $3 i32.store $0 offset=8 - local.get $2 + local.get $3 i32.load $0 offset=4 local.set $4 i32.const 0 local.set $1 loop $for-loop|0 local.get $1 - local.get $3 + local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer @@ -4321,7 +4573,7 @@ i32.store $0 local.get $5 if - local.get $2 + local.get $3 local.get $5 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link @@ -4338,19 +4590,19 @@ global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/rt/__newArray - local.tee $5 + local.tee $6 i32.store $0 offset=20 loop $while-continue|1 local.get $0 local.get $1 - local.get $2 + local.get $3 call $~lib/string/String#indexOf - local.tee $6 + local.tee $9 i32.const -1 i32.xor if - local.get $6 - local.get $2 + local.get $9 + local.get $3 i32.sub local.tee $7 i32.const 0 @@ -4360,54 +4612,54 @@ local.get $7 i32.const 1 i32.shl - local.tee $9 + local.tee $10 i32.const 2 call $~lib/rt/itcms/__new local.tee $7 i32.store $0 offset=24 local.get $7 local.get $0 - local.get $2 + local.get $3 i32.const 1 i32.shl i32.add - local.get $9 + local.get $10 memory.copy $0 $0 - local.get $5 + local.get $6 local.get $7 call $~lib/array/Array<~lib/string/String>#push else global.get $~lib/memory/__stack_pointer i32.const 3456 i32.store $0 offset=28 - local.get $5 + local.get $6 i32.const 3456 call $~lib/array/Array<~lib/string/String>#push end - local.get $3 + local.get $4 i32.const 1 i32.add - local.tee $3 - i32.const 2147483647 + local.tee $4 + local.get $2 i32.eq br_if $folding-inner2 - local.get $6 local.get $8 + local.get $9 i32.add - local.set $2 + local.set $3 br $while-continue|1 end end - local.get $2 + local.get $3 i32.eqz if - local.get $5 + local.get $6 local.get $0 call $~lib/array/Array<~lib/string/String>#push br $folding-inner2 end - local.get $4 - local.get $2 + local.get $5 + local.get $3 i32.sub local.tee $1 i32.const 0 @@ -4420,24 +4672,24 @@ local.tee $1 i32.const 2 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store $0 offset=32 - local.get $3 - local.get $0 local.get $2 + local.get $0 + local.get $3 i32.const 1 i32.shl i32.add local.get $1 memory.copy $0 $0 - local.get $5 - local.get $3 + local.get $6 + local.get $2 call $~lib/array/Array<~lib/string/String>#push else global.get $~lib/memory/__stack_pointer i32.const 3456 i32.store $0 offset=28 - local.get $5 + local.get $6 i32.const 3456 call $~lib/array/Array<~lib/string/String>#push end @@ -4445,25 +4697,25 @@ i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $6 return end i32.const 0 call $~lib/rt/__newArray - local.set $2 + local.set $3 end global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 return end global.get $~lib/memory/__stack_pointer i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $6 ) (func $~lib/date/Date.fromString (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) @@ -4527,22 +4779,25 @@ call $~lib/string/String#substring local.tee $1 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $0 local.get $6 i32.const 1 i32.add - i32.const 2147483647 - call $~lib/string/String#substring + call $~lib/string/String#substring@varargs local.tee $0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 3520 i32.store $0 + i32.const 1 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $0 i32.const 3520 - call $~lib/string/String#split + call $~lib/string/String#split@varargs local.tee $0 i32.store $0 offset=12 local.get $0 @@ -4610,12 +4865,13 @@ local.get $2 call $~lib/util/string/strtol local.set $2 + i32.const 1 + global.set $~argumentsLength local.get $0 local.get $6 i32.const 1 i32.add - i32.const 2147483647 - call $~lib/string/String#substring + call $~lib/string/String#substring@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4634,10 +4890,12 @@ local.tee $0 i32.const 1616 i32.store $0 + i32.const 1 + global.set $~argumentsLength local.get $0 local.get $1 i32.const 1616 - call $~lib/string/String#split + call $~lib/string/String#split@varargs local.tee $0 i32.store $0 offset=24 local.get $0 @@ -8070,212 +8328,6 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/util/string/joinStringArray (type $i32_i32_=>_i32) (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 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7828 - i32.lt_s - if - i32.const 40624 - i32.const 40672 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.tee $4 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 3456 - return - end - local.get $4 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.load $0 - local.tee $0 - i32.store $0 - local.get $1 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 3456 - local.get $0 - select - return - end - loop $for-loop|0 - local.get $1 - local.get $3 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $5 - i32.store $0 offset=4 - local.get $5 - if - local.get $2 - local.get $5 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.add - local.set $2 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3452 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $4 - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=8 - i32.const 0 - local.set $2 - loop $for-loop|1 - local.get $2 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $6 - i32.store $0 offset=4 - local.get $6 - if - local.get $5 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $6 - local.get $6 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $6 - i32.add - local.set $1 - end - local.get $3 - if - local.get $5 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 3456 - local.get $3 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $3 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 offset=4 - local.get $0 - if - local.get $5 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - memory.copy $0 $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) diff --git a/tests/compiler/std/map.release.wat b/tests/compiler/std/map.release.wat index 090e7219e2..a224639a53 100644 --- a/tests/compiler/std/map.release.wat +++ b/tests/compiler/std/map.release.wat @@ -2798,7 +2798,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|01 + loop $for-loop|00 local.get $4 local.get $10 i32.gt_s @@ -2830,7 +2830,7 @@ i32.const 1 i32.add local.set $10 - br $for-loop|01 + br $for-loop|00 end end local.get $2 @@ -4967,7 +4967,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|01 + loop $for-loop|00 local.get $4 local.get $10 i32.gt_s @@ -4999,7 +4999,7 @@ i32.const 1 i32.add local.set $10 - br $for-loop|01 + br $for-loop|00 end end local.get $2 @@ -7132,7 +7132,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|01 + loop $for-loop|00 local.get $4 local.get $10 i32.gt_s @@ -7166,7 +7166,7 @@ i32.const 1 i32.add local.set $10 - br $for-loop|01 + br $for-loop|00 end end local.get $2 @@ -9307,7 +9307,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|01 + loop $for-loop|00 local.get $4 local.get $10 i32.gt_s @@ -9341,7 +9341,7 @@ i32.const 1 i32.add local.set $10 - br $for-loop|01 + br $for-loop|00 end end local.get $2 @@ -11146,7 +11146,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|01 + loop $for-loop|00 local.get $3 local.get $5 i32.lt_s @@ -11180,7 +11180,7 @@ i32.const 1 i32.add local.set $3 - br $for-loop|01 + br $for-loop|00 end end local.get $6 @@ -12883,7 +12883,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|01 + loop $for-loop|00 local.get $4 local.get $10 i32.gt_s @@ -12917,7 +12917,7 @@ i32.const 1 i32.add local.set $10 - br $for-loop|01 + br $for-loop|00 end end local.get $2 @@ -15099,7 +15099,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|04 + loop $for-loop|03 local.get $1 local.get $5 i32.lt_s @@ -15133,7 +15133,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|04 + br $for-loop|03 end end local.get $11 @@ -17424,7 +17424,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|04 + loop $for-loop|03 local.get $1 local.get $5 i32.lt_s @@ -17458,7 +17458,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|04 + br $for-loop|03 end end local.get $11 @@ -19670,7 +19670,7 @@ local.get $4 local.get $10 i32.store $0 - loop $for-loop|01 + loop $for-loop|00 local.get $3 local.get $6 i32.lt_s @@ -19704,7 +19704,7 @@ i32.const 1 i32.add local.set $3 - br $for-loop|01 + br $for-loop|00 end end local.get $10 @@ -21914,7 +21914,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|04 + loop $for-loop|03 local.get $1 local.get $6 i32.lt_s @@ -21948,7 +21948,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|04 + br $for-loop|03 end end local.get $12 diff --git a/tests/compiler/std/set.release.wat b/tests/compiler/std/set.release.wat index 313a935210..f1eb747466 100644 --- a/tests/compiler/std/set.release.wat +++ b/tests/compiler/std/set.release.wat @@ -2562,7 +2562,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|01 + loop $for-loop|00 local.get $3 local.get $6 i32.lt_s @@ -2594,7 +2594,7 @@ i32.const 1 i32.add local.set $3 - br $for-loop|01 + br $for-loop|00 end end local.get $7 @@ -4170,7 +4170,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|01 + loop $for-loop|00 local.get $3 local.get $6 i32.lt_s @@ -4202,7 +4202,7 @@ i32.const 1 i32.add local.set $3 - br $for-loop|01 + br $for-loop|00 end end local.get $7 @@ -5783,7 +5783,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|01 + loop $for-loop|00 local.get $3 local.get $6 i32.lt_s @@ -5817,7 +5817,7 @@ i32.const 1 i32.add local.set $3 - br $for-loop|01 + br $for-loop|00 end end local.get $7 @@ -7397,7 +7397,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|01 + loop $for-loop|00 local.get $3 local.get $6 i32.lt_s @@ -7431,7 +7431,7 @@ i32.const 1 i32.add local.set $3 - br $for-loop|01 + br $for-loop|00 end end local.get $7 @@ -8993,7 +8993,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|01 + loop $for-loop|00 local.get $3 local.get $6 i32.lt_s @@ -9027,7 +9027,7 @@ i32.const 1 i32.add local.set $3 - br $for-loop|01 + br $for-loop|00 end end local.get $7 @@ -10565,7 +10565,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|01 + loop $for-loop|00 local.get $3 local.get $6 i32.lt_s @@ -10599,7 +10599,7 @@ i32.const 1 i32.add local.set $3 - br $for-loop|01 + br $for-loop|00 end end local.get $7 @@ -12221,7 +12221,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|04 + loop $for-loop|03 local.get $2 local.get $4 i32.lt_s @@ -12255,7 +12255,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|04 + br $for-loop|03 end end local.get $8 @@ -13949,7 +13949,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|04 + loop $for-loop|03 local.get $2 local.get $4 i32.lt_s @@ -13983,7 +13983,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|04 + br $for-loop|03 end end local.get $8 @@ -15599,7 +15599,7 @@ local.get $9 local.get $10 i32.store $0 - loop $for-loop|01 + loop $for-loop|00 local.get $4 local.get $5 i32.lt_s @@ -15633,7 +15633,7 @@ i32.const 1 i32.add local.set $4 - br $for-loop|01 + br $for-loop|00 end end local.get $10 @@ -17279,7 +17279,7 @@ i32.store $0 i32.const 0 local.set $0 - loop $for-loop|04 + loop $for-loop|03 local.get $1 local.get $5 i32.lt_s @@ -17313,7 +17313,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|04 + br $for-loop|03 end end local.get $9 diff --git a/tests/compiler/std/staticarray.debug.wat b/tests/compiler/std/staticarray.debug.wat index 8ffe344497..dfee104401 100644 --- a/tests/compiler/std/staticarray.debug.wat +++ b/tests/compiler/std/staticarray.debug.wat @@ -3,8 +3,8 @@ (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) - (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) + (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_none (func_subtype func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) @@ -35,8 +35,8 @@ (global $std/staticarray/arr4 (mut i32) (i32.const 0)) (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647)) - (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) + (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $std/staticarray/maxVal (mut i32) (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/rt/__rtti_base i32 (i32.const 2704)) @@ -2470,6 +2470,27 @@ i32.const 2 i32.shr_u ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $start + local.get $end + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + ) (func $~lib/string/String#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.const 20 @@ -3110,6 +3131,30 @@ call $~lib/util/bytes/FILL local.get $this ) + (func $~lib/staticarray/StaticArray#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $value + local.get $start + local.get $end + call $~lib/staticarray/StaticArray#fill + ) (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) (local $i i32) (local $tail i32) @@ -3329,6 +3374,26 @@ memory.copy $0 $0 local.get $this ) + (func $~lib/staticarray/StaticArray#copyWithin@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 2 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $target + local.get $start + local.get $end + call $~lib/staticarray/StaticArray#copyWithin + ) (func $start:std/staticarray~anonymous|0 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $x i32.const 1 @@ -5972,8 +6037,10 @@ global.get $~lib/memory/__stack_pointer local.get $18 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $19 i32.store $0 offset=36 local.get $19 @@ -6102,8 +6169,10 @@ global.get $~lib/memory/__stack_pointer local.get $18 i32.const 1 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $19 i32.store $0 offset=36 local.get $19 @@ -6146,8 +6215,10 @@ global.get $~lib/memory/__stack_pointer local.get $18 i32.const 100 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $19 i32.store $0 offset=36 local.get $19 @@ -6166,8 +6237,10 @@ global.get $~lib/memory/__stack_pointer local.get $18 i32.const -1 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $19 i32.store $0 offset=36 local.get $19 @@ -6821,8 +6894,10 @@ local.get $39 i32.const 1 i32.const 1 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/staticarray/StaticArray#fill + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/staticarray/StaticArray#fill@varargs drop local.get $39 i32.const 0 @@ -6914,8 +6989,10 @@ local.get $43 i32.const 0 i32.const 3 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/staticarray/StaticArray#copyWithin + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/staticarray/StaticArray#copyWithin@varargs drop local.get $43 i32.const 0 diff --git a/tests/compiler/std/staticarray.release.wat b/tests/compiler/std/staticarray.release.wat index 3e6d7f7e1e..a72be597e6 100644 --- a/tests/compiler/std/staticarray.release.wat +++ b/tests/compiler/std/staticarray.release.wat @@ -1739,6 +1739,28 @@ i32.add i32.load $0 ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const 2147483647 + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -1956,6 +1978,226 @@ i32.const 0 i32.ge_s ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_i32_=>_i32) (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) + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $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 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + block $__inlined_func$~lib/util/string/joinStringArray + local.get $4 + i32.const 1 + i32.sub + local.tee $5 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 2768 + local.set $4 + br $__inlined_func$~lib/util/string/joinStringArray + end + local.get $5 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.load $0 + local.tee $0 + i32.store $0 + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 2768 + local.get $0 + select + local.set $4 + br $__inlined_func$~lib/util/string/joinStringArray + end + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $6 + i32.store $0 offset=4 + local.get $6 + if + local.get $2 + local.get $6 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.add + local.set $2 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $6 + local.get $5 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=8 + i32.const 0 + local.set $2 + loop $for-loop|1 + local.get $2 + local.get $5 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $7 + i32.store $0 offset=4 + local.get $7 + if + local.get $4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $7 + local.get $7 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $7 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $3 + local.get $7 + i32.add + local.set $3 + end + local.get $6 + if + local.get $4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $1 + local.get $6 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $3 + local.get $6 + i32.add + local.set $3 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $0 + if + local.get $4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + memory.copy $0 $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + end + local.get $4 + ) (func $start:std/staticarray~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 1 @@ -3538,11 +3780,12 @@ local.get $0 local.get $6 i32.store $0 offset=32 + i32.const 0 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $6 i32.const 0 - i32.const 2147483647 - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $0 i32.store $0 offset=36 local.get $0 @@ -3680,11 +3923,12 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $6 i32.const 1 - i32.const 2147483647 - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $0 i32.store $0 offset=36 local.get $6 @@ -3738,11 +3982,12 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $6 i32.const 100 - i32.const 2147483647 - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $0 i32.store $0 offset=36 local.get $0 @@ -3759,11 +4004,12 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $6 i32.const -1 - i32.const 2147483647 - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $0 i32.store $0 offset=36 local.get $0 @@ -4805,14 +5051,8 @@ i32.const 2800 i32.store $0 offset=64 local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u i32.const 2800 - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4836,14 +5076,8 @@ i32.const 2768 i32.store $0 offset=64 local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u i32.const 2768 - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4867,14 +5101,8 @@ i32.const 2928 i32.store $0 offset=64 local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u i32.const 2928 - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4898,14 +5126,8 @@ i32.const 3008 i32.store $0 offset=64 local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u i32.const 3008 - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4929,14 +5151,8 @@ i32.const 2800 i32.store $0 offset=64 local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u i32.const 2800 - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4957,14 +5173,8 @@ i32.const 2800 i32.store $0 local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u i32.const 2800 - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4997,6 +5207,8 @@ local.get $0 local.get $6 i32.store $0 offset=68 + i32.const 2 + global.set $~argumentsLength i32.const 1 local.get $6 i32.const 20 @@ -5010,7 +5222,7 @@ i32.gt_u select local.set $1 - loop $for-loop|025 + loop $for-loop|024 local.get $0 local.get $1 i32.gt_s @@ -5026,7 +5238,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|025 + br $for-loop|024 end end local.get $6 @@ -5083,7 +5295,7 @@ i32.const 1 i32.sub local.set $0 - loop $while-continue|031 + loop $while-continue|029 local.get $2 local.get $6 i32.lt_u @@ -5114,7 +5326,7 @@ i32.const 1 i32.add local.set $2 - br $while-continue|031 + br $while-continue|029 end end end @@ -5169,6 +5381,8 @@ local.get $0 local.get $1 i32.store $0 offset=76 + i32.const 2 + global.set $~argumentsLength local.get $1 local.get $1 i32.const 3 @@ -5310,7 +5524,7 @@ local.set $7 i32.const 0 local.set $2 - loop $for-loop|018 + loop $for-loop|017 local.get $1 local.get $2 i32.gt_s @@ -5339,7 +5553,7 @@ i32.const 1 i32.add local.set $2 - br $for-loop|018 + br $for-loop|017 end end global.get $~lib/memory/__stack_pointer @@ -5400,7 +5614,7 @@ i32.const 2 i32.shr_u local.set $1 - loop $for-loop|021 + loop $for-loop|019 local.get $0 local.get $1 i32.lt_s @@ -5424,7 +5638,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|021 + br $for-loop|019 end end global.get $std/staticarray/maxVal @@ -5468,7 +5682,7 @@ i32.const 2 i32.shr_u local.set $10 - loop $for-loop|024 + loop $for-loop|021 local.get $5 local.get $10 i32.lt_s @@ -5612,7 +5826,7 @@ i32.const 1 i32.add local.set $5 - br $for-loop|024 + br $for-loop|021 end end global.get $~lib/memory/__stack_pointer @@ -5674,7 +5888,7 @@ i32.const 2 i32.shr_u local.set $2 - loop $for-loop|027 + loop $for-loop|023 local.get $1 local.get $2 i32.lt_s @@ -5700,7 +5914,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|027 + br $for-loop|023 end end local.get $0 @@ -5728,7 +5942,7 @@ i32.const 1 i32.sub local.set $0 - loop $for-loop|030 + loop $for-loop|025 local.get $0 i32.const 0 i32.ge_s @@ -5754,7 +5968,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|030 + br $for-loop|025 end end local.get $1 @@ -5781,7 +5995,7 @@ i32.const 2 i32.shr_u local.set $1 - loop $for-loop|037 + loop $for-loop|038 local.get $0 local.get $1 i32.lt_s @@ -5808,7 +6022,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|037 + br $for-loop|038 end end i32.const 0 @@ -5822,7 +6036,7 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/staticarray/StaticArray#some39 (result i32) + block $__inlined_func$~lib/staticarray/StaticArray#some40 (result i32) global.get $~lib/memory/__stack_pointer i32.const 3440 i32.store $0 offset=24 @@ -5835,7 +6049,7 @@ i32.const 2 i32.shr_u local.set $1 - loop $for-loop|043 + loop $for-loop|044 local.get $0 local.get $1 i32.lt_s @@ -5856,13 +6070,13 @@ i32.const 3440 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#some39 + br_if $__inlined_func$~lib/staticarray/StaticArray#some40 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|043 + br $for-loop|044 end end i32.const 0 @@ -5888,7 +6102,7 @@ i32.const 2 i32.shr_u local.set $1 - loop $for-loop|049 + loop $for-loop|048 local.get $0 local.get $1 i32.lt_s @@ -5916,7 +6130,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|049 + br $for-loop|048 end end i32.const 1 @@ -5930,7 +6144,7 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/staticarray/StaticArray#every51 (result i32) + block $__inlined_func$~lib/staticarray/StaticArray#every50 (result i32) global.get $~lib/memory/__stack_pointer i32.const 3504 i32.store $0 offset=24 @@ -5943,7 +6157,7 @@ i32.const 2 i32.shr_u local.set $1 - loop $for-loop|055 + loop $for-loop|053 local.get $0 local.get $1 i32.lt_s @@ -5965,13 +6179,13 @@ i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#every51 + br_if $__inlined_func$~lib/staticarray/StaticArray#every50 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|055 + br $for-loop|053 end end i32.const 1 @@ -5997,7 +6211,7 @@ i32.shr_u local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#findIndex - loop $for-loop|062 + loop $for-loop|057 local.get $0 local.get $1 i32.lt_s @@ -6022,7 +6236,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|062 + br $for-loop|057 end end i32.const -1 @@ -6051,8 +6265,8 @@ i32.const 2 i32.shr_u local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#findIndex64 - loop $for-loop|068 + block $__inlined_func$~lib/staticarray/StaticArray#findIndex59 + loop $for-loop|063 local.get $0 local.get $1 i32.lt_s @@ -6072,12 +6286,12 @@ i32.const 3568 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex64 + br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex59 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|068 + br $for-loop|063 end end i32.const -1 @@ -6107,7 +6321,7 @@ i32.sub local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#findLastIndex - loop $for-loop|073 + loop $for-loop|067 local.get $1 i32.const 0 i32.ge_s @@ -6132,7 +6346,7 @@ i32.const 1 i32.sub local.set $1 - br $for-loop|073 + br $for-loop|067 end end i32.const -1 @@ -6161,8 +6375,8 @@ i32.const 1 i32.sub local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#findLastIndex75 - loop $for-loop|079 + block $__inlined_func$~lib/staticarray/StaticArray#findLastIndex69 + loop $for-loop|072 local.get $1 i32.const 0 i32.ge_s @@ -6182,12 +6396,12 @@ i32.const 3632 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#findLastIndex75 + br_if $__inlined_func$~lib/staticarray/StaticArray#findLastIndex69 local.get $1 i32.const 1 i32.sub local.set $1 - br $for-loop|079 + br $for-loop|072 end end i32.const -1 @@ -6231,11 +6445,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of19 - block $0of110 - block $outOfRange11 + block $1of174 + block $0of175 + block $outOfRange28 global.get $~argumentsLength - br_table $0of110 $1of19 $outOfRange11 + br_table $0of175 $1of174 $outOfRange28 end unreachable end @@ -6314,12 +6528,12 @@ i32.const 0 i32.gt_s if - loop $while-continue|034 + loop $while-continue|030 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|034 + br $while-continue|030 end end end @@ -6935,214 +7149,6 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - 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 3800 - i32.lt_s - if - i32.const 36592 - i32.const 36640 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.tee $5 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 2768 - return - end - local.get $5 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.load $0 - local.tee $0 - i32.store $0 - local.get $1 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 2768 - local.get $0 - select - return - end - loop $for-loop|0 - local.get $1 - local.get $4 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $6 - i32.store $0 offset=4 - local.get $6 - if - local.get $3 - local.get $6 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.add - local.set $3 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - local.get $5 - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=8 - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $5 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $7 - i32.store $0 offset=4 - local.get $7 - if - local.get $6 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $7 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $7 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $7 - i32.add - local.set $1 - end - local.get $4 - if - local.get $6 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $4 - i32.add - local.set $1 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 offset=4 - local.get $0 - if - local.get $6 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - memory.copy $0 $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/std/string.debug.wat b/tests/compiler/std/string.debug.wat index 92238d8004..fcb437bd77 100644 --- a/tests/compiler/std/string.debug.wat +++ b/tests/compiler/std/string.debug.wat @@ -3179,6 +3179,25 @@ call $~lib/util/string/compareImpl i32.eqz ) + (func $~lib/string/String#endsWith@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $end i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/string/String.MAX_LENGTH + local.set $end + end + local.get $this + local.get $search + local.get $end + call $~lib/string/String#endsWith + ) (func $~lib/string/String#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) (local $searchLen i32) (local $len i32) @@ -3356,6 +3375,25 @@ end i32.const -1 ) + (func $~lib/string/String#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $start + end + local.get $this + local.get $search + local.get $start + call $~lib/string/String#lastIndexOf + ) (func $~lib/string/String#localeCompare (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) (local $alen i32) (local $blen i32) @@ -5981,6 +6019,63 @@ memory.copy $0 $0 local.get $newPtr ) + (func $~lib/string/String#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $start + local.get $end + call $~lib/string/String#slice + ) + (func $~lib/string/String#substr@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $length i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $length + end + local.get $this + local.get $start + local.get $length + call $~lib/string/String#substr + ) + (func $~lib/string/String#substring@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $start + local.get $end + call $~lib/string/String#substring + ) (func $~lib/array/Array<~lib/string/String>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -6148,6 +6243,27 @@ call $~lib/array/Array<~lib/string/String>#set:length_ local.get $len ) + (func $~lib/string/String#split@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $separator i32) (param $limit i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $separator + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $limit + end + local.get $this + local.get $separator + local.get $limit + call $~lib/string/String#split + ) (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array<~lib/string/String>#get:length_ @@ -9330,8 +9446,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/string/String.MAX_LENGTH - call $~lib/string/String#endsWith + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#endsWith@varargs i32.eqz if i32.const 0 @@ -10186,8 +10304,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#lastIndexOf@varargs i32.const 0 i32.eq i32.eqz @@ -10211,8 +10331,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#lastIndexOf@varargs i32.const -1 i32.eq i32.eqz @@ -10236,8 +10358,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#lastIndexOf@varargs global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer @@ -10267,8 +10391,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#lastIndexOf@varargs i32.const 2 i32.eq i32.eqz @@ -10292,8 +10418,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#lastIndexOf@varargs i32.const -1 i32.eq i32.eqz @@ -10317,8 +10445,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#lastIndexOf@varargs i32.const 15 i32.eq i32.eqz @@ -17748,8 +17878,10 @@ i32.store $0 offset=8 local.get $55 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#slice@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17778,8 +17910,10 @@ i32.store $0 offset=8 local.get $55 i32.const -1 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#slice@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17808,8 +17942,10 @@ i32.store $0 offset=8 local.get $55 i32.const -5 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#slice@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17958,8 +18094,10 @@ i32.store $0 offset=8 local.get $55 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substr + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substr@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17988,8 +18126,10 @@ i32.store $0 offset=8 local.get $55 i32.const -1 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substr + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substr@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18018,8 +18158,10 @@ i32.store $0 offset=8 local.get $55 i32.const -5 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substr + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substr@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18258,8 +18400,10 @@ i32.store $0 offset=8 local.get $55 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substring + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substring@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18288,8 +18432,10 @@ i32.store $0 offset=8 local.get $55 i32.const -1 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substring + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substring@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18318,8 +18464,10 @@ i32.store $0 offset=8 local.get $55 i32.const -5 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substring + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substring@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18559,8 +18707,10 @@ i32.store $0 local.get $55 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs local.tee $54 i32.store $0 offset=92 local.get $54 @@ -18608,8 +18758,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs local.tee $54 i32.store $0 offset=92 local.get $54 @@ -18638,8 +18790,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs local.tee $54 i32.store $0 offset=92 local.get $54 @@ -18687,8 +18841,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs local.tee $54 i32.store $0 offset=92 local.get $54 @@ -18736,8 +18892,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs local.tee $54 i32.store $0 offset=92 local.get $54 @@ -18823,8 +18981,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs local.tee $54 i32.store $0 offset=92 local.get $54 @@ -18910,8 +19070,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs local.tee $54 i32.store $0 offset=92 local.get $54 @@ -19016,8 +19178,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs local.tee $54 i32.store $0 offset=92 local.get $54 @@ -19122,8 +19286,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs local.tee $54 i32.store $0 offset=92 local.get $54 @@ -19228,8 +19394,10 @@ local.get $55 i32.store $0 offset=4 local.get $55 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs local.tee $54 i32.store $0 offset=92 local.get $54 diff --git a/tests/compiler/std/string.release.wat b/tests/compiler/std/string.release.wat index 1b7212ab20..ef17dfddf5 100644 --- a/tests/compiler/std/string.release.wat +++ b/tests/compiler/std/string.release.wat @@ -2774,6 +2774,26 @@ end i32.const -1 ) + (func $~lib/string/String#lastIndexOf@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/string/String#lastIndexOf + ) (func $~lib/string/String#localeCompare (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 @@ -5097,6 +5117,66 @@ memory.copy $0 $0 local.get $2 ) + (func $~lib/string/String#slice@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/string/String#slice + ) + (func $~lib/string/String#substr@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/string/String#substr + ) + (func $~lib/string/String#substring@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/string/String#substring + ) (func $~lib/array/Array<~lib/string/String>#push (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -5196,6 +5276,28 @@ local.get $2 i32.store $0 offset=12 ) + (func $~lib/string/String#split@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const 2147483647 + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/string/String#split + ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) loop $while-continue|0 @@ -7570,47 +7672,46 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/string/String#endsWith (result i32) - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2208 - i32.store $0 offset=4 - i32.const 0 - i32.const 536870910 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $0 - local.get $0 - i32.const 536870910 - i32.gt_u - select - i32.const 2204 - i32.load $0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $3 + i32.store $0 + local.get $0 + i32.const 2208 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + i32.const 536870910 + local.get $3 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $0 + local.get $0 + i32.const 536870910 + i32.gt_u + select + i32.const 2204 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $0 + i32.sub + local.tee $4 + i32.const 0 + i32.lt_s + if (result i32) i32.const 1 - i32.shr_u - local.tee $0 - i32.sub - local.tee $4 - i32.const 0 - i32.lt_s - br_if $__inlined_func$~lib/string/String#endsWith - drop + else local.get $3 local.get $4 i32.const 2208 local.get $0 call $~lib/util/string/compareImpl - i32.eqz end - i32.eqz if i32.const 0 i32.const 1120 @@ -8345,10 +8446,11 @@ local.get $0 i32.const 1712 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength i32.const 1712 i32.const 1712 - i32.const 2147483647 - call $~lib/string/String#lastIndexOf + call $~lib/string/String#lastIndexOf@varargs if i32.const 0 i32.const 1120 @@ -8364,10 +8466,11 @@ local.get $0 i32.const 2176 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength i32.const 1712 i32.const 2176 - i32.const 2147483647 - call $~lib/string/String#lastIndexOf + call $~lib/string/String#lastIndexOf@varargs i32.const -1 i32.ne if @@ -8386,10 +8489,11 @@ local.get $0 i32.const 1712 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $3 i32.const 1712 - i32.const 2147483647 - call $~lib/string/String#lastIndexOf + call $~lib/string/String#lastIndexOf@varargs local.set $0 global.get $~lib/memory/__stack_pointer global.get $std/string/str @@ -8419,10 +8523,11 @@ local.get $0 i32.const 2624 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $3 i32.const 2624 - i32.const 2147483647 - call $~lib/string/String#lastIndexOf + call $~lib/string/String#lastIndexOf@varargs i32.const 2 i32.ne if @@ -8441,10 +8546,11 @@ local.get $0 i32.const 2656 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $3 i32.const 2656 - i32.const 2147483647 - call $~lib/string/String#lastIndexOf + call $~lib/string/String#lastIndexOf@varargs i32.const -1 i32.ne if @@ -8463,10 +8569,11 @@ local.get $0 i32.const 2720 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $3 i32.const 2720 - i32.const 2147483647 - call $~lib/string/String#lastIndexOf + call $~lib/string/String#lastIndexOf@varargs i32.const 15 i32.ne if @@ -14659,10 +14766,11 @@ global.get $~lib/memory/__stack_pointer i32.const 15296 i32.store $0 offset=8 + i32.const 1 + global.set $~argumentsLength i32.const 15296 i32.const 0 - i32.const 2147483647 - call $~lib/string/String#slice + call $~lib/string/String#slice@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -14686,10 +14794,11 @@ global.get $std/string/str local.tee $0 i32.store $0 offset=8 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const -1 - i32.const 2147483647 - call $~lib/string/String#slice + call $~lib/string/String#slice@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -14713,10 +14822,11 @@ global.get $std/string/str local.tee $0 i32.store $0 offset=8 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const -5 - i32.const 2147483647 - call $~lib/string/String#slice + call $~lib/string/String#slice@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -14848,10 +14958,11 @@ global.get $std/string/str local.tee $0 i32.store $0 offset=8 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 0 - i32.const 2147483647 - call $~lib/string/String#substr + call $~lib/string/String#substr@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -14875,10 +14986,11 @@ global.get $std/string/str local.tee $0 i32.store $0 offset=8 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const -1 - i32.const 2147483647 - call $~lib/string/String#substr + call $~lib/string/String#substr@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -14902,10 +15014,11 @@ global.get $std/string/str local.tee $0 i32.store $0 offset=8 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const -5 - i32.const 2147483647 - call $~lib/string/String#substr + call $~lib/string/String#substr@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -15118,10 +15231,11 @@ global.get $std/string/str local.tee $0 i32.store $0 offset=8 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 0 - i32.const 2147483647 - call $~lib/string/String#substring + call $~lib/string/String#substring@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -15145,10 +15259,11 @@ global.get $std/string/str local.tee $0 i32.store $0 offset=8 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const -1 - i32.const 2147483647 - call $~lib/string/String#substring + call $~lib/string/String#substring@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -15172,10 +15287,11 @@ global.get $std/string/str local.tee $0 i32.store $0 offset=8 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const -5 - i32.const 2147483647 - call $~lib/string/String#substring + call $~lib/string/String#substring@varargs local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -15388,11 +15504,12 @@ local.tee $0 i32.const 1712 i32.store $0 + i32.const 0 + global.set $~argumentsLength local.get $0 i32.const 1712 i32.const 0 - i32.const 2147483647 - call $~lib/string/String#split + call $~lib/string/String#split@varargs local.tee $0 i32.store $0 offset=92 local.get $0 @@ -15433,11 +15550,12 @@ local.get $0 i32.const 1712 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 1712 i32.const 1712 - i32.const 2147483647 - call $~lib/string/String#split + call $~lib/string/String#split@varargs local.tee $0 i32.store $0 offset=92 local.get $0 @@ -15457,11 +15575,12 @@ local.get $0 i32.const 2624 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 1712 i32.const 2624 - i32.const 2147483647 - call $~lib/string/String#split + call $~lib/string/String#split@varargs local.tee $0 i32.store $0 offset=92 local.get $0 @@ -15502,11 +15621,12 @@ local.get $0 i32.const 7632 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 15840 i32.const 7632 - i32.const 2147483647 - call $~lib/string/String#split + call $~lib/string/String#split@varargs local.tee $0 i32.store $0 offset=92 local.get $0 @@ -15547,11 +15667,12 @@ local.get $0 i32.const 2624 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 15840 i32.const 2624 - i32.const 2147483647 - call $~lib/string/String#split + call $~lib/string/String#split@varargs local.tee $0 i32.store $0 offset=92 local.get $0 @@ -15628,11 +15749,12 @@ local.get $0 i32.const 15920 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 15872 i32.const 15920 - i32.const 2147483647 - call $~lib/string/String#split + call $~lib/string/String#split@varargs local.tee $0 i32.store $0 offset=92 local.get $0 @@ -15709,11 +15831,12 @@ local.get $0 i32.const 2624 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 15952 i32.const 2624 - i32.const 2147483647 - call $~lib/string/String#split + call $~lib/string/String#split@varargs local.tee $0 i32.store $0 offset=92 local.get $0 @@ -15808,11 +15931,12 @@ local.get $0 i32.const 2624 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 15984 i32.const 2624 - i32.const 2147483647 - call $~lib/string/String#split + call $~lib/string/String#split@varargs local.tee $0 i32.store $0 offset=92 local.get $0 @@ -15907,11 +16031,12 @@ local.get $0 i32.const 2624 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 16016 i32.const 2624 - i32.const 2147483647 - call $~lib/string/String#split + call $~lib/string/String#split@varargs local.tee $0 i32.store $0 offset=92 local.get $0 @@ -16006,11 +16131,12 @@ local.get $0 i32.const 1712 i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 2336 i32.const 1712 - i32.const 2147483647 - call $~lib/string/String#split + call $~lib/string/String#split@varargs local.tee $0 i32.store $0 offset=92 local.get $0 diff --git a/tests/compiler/std/symbol.debug.wat b/tests/compiler/std/symbol.debug.wat index fef3d712a0..2c039f5156 100644 --- a/tests/compiler/std/symbol.debug.wat +++ b/tests/compiler/std/symbol.debug.wat @@ -41,10 +41,10 @@ (global $std/symbol/hasInstance (mut i32) (i32.const 0)) (global $~lib/symbol/_Symbol.isConcatSpreadable i32 (i32.const 2)) (global $std/symbol/isConcatSpreadable (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 1632)) - (global $~lib/memory/__data_end i32 (i32.const 1660)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34428)) - (global $~lib/memory/__heap_base i32 (i32.const 34428)) + (global $~lib/rt/__rtti_base i32 (i32.const 1696)) + (global $~lib/memory/__data_end i32 (i32.const 1724)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34492)) + (global $~lib/memory/__heap_base i32 (i32.const 34492)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") @@ -61,26 +61,26 @@ (data (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") (data (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t\00\00\00\00\00\00\00\00\00") (data (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 716) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 812) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00\00\00\00\00\00\00") - (data (i32.const 860) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 924) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00m\00a\00t\00c\00h\00\00\00") - (data (i32.const 1004) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1052) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h\00") - (data (i32.const 1084) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1132) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00s\00p\00l\00i\00t\00\00\00") - (data (i32.const 1164) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e\00\00\00\00\00\00\00") - (data (i32.const 1212) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g\00\00\00\00\00\00\00") - (data (i32.const 1260) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00\00\00\00\00\00\00") - (data (i32.const 1308) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1356) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1388) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1436) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00\00\00\00\00\00\00") - (data (i32.const 1484) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)\00\00\00\00\00\00\00") - (data (i32.const 1548) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00\00\00\00\00\00\00\00\00") - (data (i32.const 1632) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\01\82\00\10A\02\00") + (data (i32.const 716) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 844) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00\00\00\00\00\00\00") + (data (i32.const 924) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00\00\00\00\00\00\00\00\00") + (data (i32.const 988) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00m\00a\00t\00c\00h\00\00\00") + (data (i32.const 1068) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1116) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h\00") + (data (i32.const 1148) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00s\00p\00l\00i\00t\00\00\00") + (data (i32.const 1228) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e\00\00\00\00\00\00\00") + (data (i32.const 1276) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g\00\00\00\00\00\00\00") + (data (i32.const 1324) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00\00\00\00\00\00\00") + (data (i32.const 1372) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1420) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1452) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1500) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00\00\00\00\00\00\00") + (data (i32.const 1548) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)\00\00\00\00\00\00\00") + (data (i32.const 1612) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00\00\00\00\00\00\00\00\00") + (data (i32.const 1696) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\01\82\00\10A\02\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -3472,8 +3472,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 34448 - i32.const 34496 + i32.const 34512 + i32.const 34560 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3962,7 +3962,7 @@ local.get $this local.set $id global.get $~lib/memory/__stack_pointer - i32.const 800 + i32.const 864 local.tee $str i32.store $0 block $break|0 @@ -4027,67 +4027,67 @@ br $case11|0 end global.get $~lib/memory/__stack_pointer - i32.const 832 + i32.const 896 local.tee $str i32.store $0 br $break|0 end global.get $~lib/memory/__stack_pointer - i32.const 880 + i32.const 944 local.tee $str i32.store $0 br $break|0 end global.get $~lib/memory/__stack_pointer - i32.const 944 + i32.const 1008 local.tee $str i32.store $0 br $break|0 end global.get $~lib/memory/__stack_pointer - i32.const 992 + i32.const 1056 local.tee $str i32.store $0 br $break|0 end global.get $~lib/memory/__stack_pointer - i32.const 1024 + i32.const 1088 local.tee $str i32.store $0 br $break|0 end global.get $~lib/memory/__stack_pointer - i32.const 1072 + i32.const 1136 local.tee $str i32.store $0 br $break|0 end global.get $~lib/memory/__stack_pointer - i32.const 1104 + i32.const 1168 local.tee $str i32.store $0 br $break|0 end global.get $~lib/memory/__stack_pointer - i32.const 1152 + i32.const 1216 local.tee $str i32.store $0 br $break|0 end global.get $~lib/memory/__stack_pointer - i32.const 1184 + i32.const 1248 local.tee $str i32.store $0 br $break|0 end global.get $~lib/memory/__stack_pointer - i32.const 1232 + i32.const 1296 local.tee $str i32.store $0 br $break|0 end global.get $~lib/memory/__stack_pointer - i32.const 1280 + i32.const 1344 local.tee $str i32.store $0 br $break|0 @@ -4122,7 +4122,7 @@ end br $break|0 end - i32.const 1328 + i32.const 1392 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -4135,7 +4135,7 @@ local.get $4 i32.store $0 offset=4 local.get $4 - i32.const 1376 + i32.const 1440 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -4369,7 +4369,7 @@ local.get $2 i32.store $0 local.get $2 - i32.const 1408 + i32.const 1472 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 @@ -4392,7 +4392,7 @@ local.get $2 i32.store $0 local.get $2 - i32.const 1456 + i32.const 1520 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 @@ -4419,7 +4419,7 @@ local.get $2 i32.store $0 local.get $2 - i32.const 1504 + i32.const 1568 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 @@ -4442,7 +4442,7 @@ local.get $2 i32.store $0 local.get $2 - i32.const 1568 + i32.const 1632 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 @@ -4791,7 +4791,7 @@ i32.const 0 i32.eq if - i32.const 800 + i32.const 864 local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/std/symbol.release.wat b/tests/compiler/std/symbol.release.wat index 7df772bc18..6b156a770e 100644 --- a/tests/compiler/std/symbol.release.wat +++ b/tests/compiler/std/symbol.release.wat @@ -30,7 +30,7 @@ (global $std/symbol/key3 (mut i32) (i32.const 0)) (global $std/symbol/key4 (mut i32) (i32.const 0)) (global $std/symbol/isConcatSpreadable (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35452)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35516)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) (data (i32.const 1036) "\1c") @@ -55,45 +55,45 @@ (data (i32.const 1640) "\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t") (data (i32.const 1692) ",") (data (i32.const 1704) "\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s") - (data (i32.const 1740) "<") - (data (i32.const 1752) "\02\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") - (data (i32.const 1804) "\1c") - (data (i32.const 1816) "\02") - (data (i32.const 1836) ",") - (data (i32.const 1848) "\02\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e") - (data (i32.const 1884) "<") - (data (i32.const 1896) "\02\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e") - (data (i32.const 1948) ",") - (data (i32.const 1960) "\02\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p") - (data (i32.const 1996) "\1c") - (data (i32.const 2008) "\02\00\00\00\n\00\00\00m\00a\00t\00c\00h") - (data (i32.const 2028) ",") - (data (i32.const 2040) "\02\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e") - (data (i32.const 2076) "\1c") - (data (i32.const 2088) "\02\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h") - (data (i32.const 2108) ",") - (data (i32.const 2120) "\02\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s") - (data (i32.const 2156) "\1c") - (data (i32.const 2168) "\02\00\00\00\n\00\00\00s\00p\00l\00i\00t") - (data (i32.const 2188) ",") - (data (i32.const 2200) "\02\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e") - (data (i32.const 2236) ",") - (data (i32.const 2248) "\02\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g") - (data (i32.const 2284) ",") - (data (i32.const 2296) "\02\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s") - (data (i32.const 2332) ",") - (data (i32.const 2344) "\02\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(") - (data (i32.const 2380) "\1c") - (data (i32.const 2392) "\02\00\00\00\02\00\00\00)") - (data (i32.const 2412) ",") - (data (i32.const 2424) "\02\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") - (data (i32.const 2460) ",") - (data (i32.const 2472) "\02\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") - (data (i32.const 2508) "<") - (data (i32.const 2520) "\02\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)") - (data (i32.const 2572) "L") - (data (i32.const 2584) "\02\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)") - (data (i32.const 2656) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\01\82\00\10A\02") + (data (i32.const 1740) "|") + (data (i32.const 1752) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") + (data (i32.const 1868) "\1c") + (data (i32.const 1880) "\02") + (data (i32.const 1900) ",") + (data (i32.const 1912) "\02\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e") + (data (i32.const 1948) "<") + (data (i32.const 1960) "\02\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e") + (data (i32.const 2012) ",") + (data (i32.const 2024) "\02\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p") + (data (i32.const 2060) "\1c") + (data (i32.const 2072) "\02\00\00\00\n\00\00\00m\00a\00t\00c\00h") + (data (i32.const 2092) ",") + (data (i32.const 2104) "\02\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e") + (data (i32.const 2140) "\1c") + (data (i32.const 2152) "\02\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h") + (data (i32.const 2172) ",") + (data (i32.const 2184) "\02\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s") + (data (i32.const 2220) "\1c") + (data (i32.const 2232) "\02\00\00\00\n\00\00\00s\00p\00l\00i\00t") + (data (i32.const 2252) ",") + (data (i32.const 2264) "\02\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e") + (data (i32.const 2300) ",") + (data (i32.const 2312) "\02\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g") + (data (i32.const 2348) ",") + (data (i32.const 2360) "\02\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s") + (data (i32.const 2396) ",") + (data (i32.const 2408) "\02\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(") + (data (i32.const 2444) "\1c") + (data (i32.const 2456) "\02\00\00\00\02\00\00\00)") + (data (i32.const 2476) ",") + (data (i32.const 2488) "\02\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") + (data (i32.const 2524) ",") + (data (i32.const 2536) "\02\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") + (data (i32.const 2572) "<") + (data (i32.const 2584) "\02\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)") + (data (i32.const 2636) "L") + (data (i32.const 2648) "\02\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)") + (data (i32.const 2720) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\01\82\00\10A\02") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) @@ -216,7 +216,7 @@ i32.load $0 offset=8 i32.eqz local.get $0 - i32.const 35452 + i32.const 35516 i32.lt_u i32.and i32.eqz @@ -265,7 +265,7 @@ i32.const 1 else local.get $1 - i32.const 2656 + i32.const 2720 i32.load $0 i32.gt_u if @@ -279,7 +279,7 @@ local.get $1 i32.const 2 i32.shl - i32.const 2660 + i32.const 2724 i32.add i32.load $0 i32.const 32 @@ -844,10 +844,10 @@ if unreachable end - i32.const 35456 + i32.const 35520 i32.const 0 i32.store $0 - i32.const 37024 + i32.const 37088 i32.const 0 i32.store $0 loop $for-loop|0 @@ -858,7 +858,7 @@ local.get $0 i32.const 2 i32.shl - i32.const 35456 + i32.const 35520 i32.add i32.const 0 i32.store $0 offset=4 @@ -876,7 +876,7 @@ i32.add i32.const 2 i32.shl - i32.const 35456 + i32.const 35520 i32.add i32.const 0 i32.store $0 offset=96 @@ -894,13 +894,13 @@ br $for-loop|0 end end - i32.const 35456 - i32.const 37028 + i32.const 35520 + i32.const 37092 memory.size $0 i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 35456 + i32.const 35520 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (type $none_=>_i32) (result i32) @@ -985,7 +985,7 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 35452 + i32.const 35516 i32.lt_u if local.get $0 @@ -1085,7 +1085,7 @@ unreachable end local.get $0 - i32.const 35452 + i32.const 35516 i32.lt_u if local.get $0 @@ -1108,7 +1108,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 35452 + i32.const 35516 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -2000,11 +2000,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2684 + i32.const 2748 i32.lt_s if - i32.const 35472 - i32.const 35520 + i32.const 35536 + i32.const 35584 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2036,7 +2036,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 1824 + i32.const 1888 local.set $2 br $__inlined_func$~lib/string/String#concat end @@ -2213,11 +2213,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2684 + i32.const 2748 i32.lt_s if - i32.const 35472 - i32.const 35520 + i32.const 35536 + i32.const 35584 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2297,7 +2297,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 2684 + i32.const 2748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2361,7 +2361,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2684 + i32.const 2748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2410,7 +2410,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2684 + i32.const 2748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2601,7 +2601,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2684 + i32.const 2748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2716,7 +2716,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2684 + i32.const 2748 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer @@ -2932,8 +2932,8 @@ local.get $3 return end - i32.const 35472 - i32.const 35520 + i32.const 35536 + i32.const 35584 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2947,11 +2947,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2684 + i32.const 2748 i32.lt_s if - i32.const 35472 - i32.const 35520 + i32.const 35536 + i32.const 35584 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3059,11 +3059,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2684 + i32.const 2748 i32.lt_s if - i32.const 35472 - i32.const 35520 + i32.const 35536 + i32.const 35584 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3076,10 +3076,10 @@ local.get $1 i64.const 0 i64.store $0 offset=8 - i32.const 1824 + i32.const 1888 local.set $2 local.get $1 - i32.const 1824 + i32.const 1888 i32.store $0 block $break|0 block $case11|0 @@ -3099,80 +3099,80 @@ i32.sub br_table $case0|0 $case1|0 $case2|0 $case3|0 $case4|0 $case5|0 $case6|0 $case7|0 $case8|0 $case9|0 $case10|0 $case11|0 end - i32.const 1856 + i32.const 1920 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 1856 + i32.const 1920 i32.store $0 br $break|0 end - i32.const 1904 + i32.const 1968 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 1904 + i32.const 1968 i32.store $0 br $break|0 end - i32.const 1968 + i32.const 2032 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 1968 + i32.const 2032 i32.store $0 br $break|0 end - i32.const 2016 + i32.const 2080 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 2016 + i32.const 2080 i32.store $0 br $break|0 end - i32.const 2048 + i32.const 2112 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 2048 + i32.const 2112 i32.store $0 br $break|0 end - i32.const 2096 + i32.const 2160 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 2096 + i32.const 2160 i32.store $0 br $break|0 end - i32.const 2128 + i32.const 2192 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 2128 + i32.const 2192 i32.store $0 br $break|0 end - i32.const 2176 + i32.const 2240 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 2176 + i32.const 2240 i32.store $0 br $break|0 end - i32.const 2208 + i32.const 2272 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 2208 + i32.const 2272 i32.store $0 br $break|0 end - i32.const 2256 + i32.const 2320 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 2256 + i32.const 2320 i32.store $0 br $break|0 end - i32.const 2304 + i32.const 2368 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 2304 + i32.const 2368 i32.store $0 br $break|0 end @@ -3267,9 +3267,9 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 2352 + i32.const 2416 i32.store $0 offset=12 - i32.const 2352 + i32.const 2416 local.get $2 call $~lib/string/String.__concat local.set $0 @@ -3277,10 +3277,10 @@ local.get $0 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - i32.const 2400 + i32.const 2464 i32.store $0 offset=8 local.get $0 - i32.const 2400 + i32.const 2464 call $~lib/string/String.__concat local.set $0 global.get $~lib/memory/__stack_pointer @@ -3298,7 +3298,7 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 2684 + i32.const 2748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3352,7 +3352,7 @@ memory.size $0 i32.const 16 i32.shl - i32.const 35452 + i32.const 35516 i32.sub i32.const 1 i32.shr_u @@ -3386,7 +3386,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2684 + i32.const 2748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3454,7 +3454,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2684 + i32.const 2748 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer @@ -3669,10 +3669,10 @@ local.get $0 i32.store $0 local.get $1 - i32.const 2432 + i32.const 2496 i32.store $0 offset=12 local.get $0 - i32.const 2432 + i32.const 2496 call $~lib/string/String.__eq i32.eqz if @@ -3691,10 +3691,10 @@ local.get $0 i32.store $0 local.get $1 - i32.const 2480 + i32.const 2544 i32.store $0 offset=12 local.get $0 - i32.const 2480 + i32.const 2544 call $~lib/string/String.__eq i32.eqz if @@ -3715,10 +3715,10 @@ local.get $0 i32.store $0 local.get $1 - i32.const 2528 + i32.const 2592 i32.store $0 offset=12 local.get $0 - i32.const 2528 + i32.const 2592 call $~lib/string/String.__eq i32.eqz if @@ -3737,10 +3737,10 @@ local.get $0 i32.store $0 local.get $1 - i32.const 2592 + i32.const 2656 i32.store $0 offset=12 local.get $0 - i32.const 2592 + i32.const 2656 call $~lib/string/String.__eq i32.eqz if @@ -3757,8 +3757,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 35472 - i32.const 35520 + i32.const 35536 + i32.const 35584 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3770,11 +3770,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2684 + i32.const 2748 i32.lt_s if - i32.const 35472 - i32.const 35520 + i32.const 35536 + i32.const 35584 i32.const 1 i32.const 1 call $~lib/builtins/abort diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index fe67d383c2..b7fa0c3f02 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -4597,6 +4597,30 @@ end i32.const 1 ) + (func $~lib/typedarray/Int8Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $value + local.get $start + local.get $end + call $~lib/typedarray/Int8Array#fill + ) (func $~lib/util/bytes/FILL (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $value i32) (param $start i32) (param $end i32) (local $5 i32) (local $6 i32) @@ -4804,6 +4828,51 @@ end i32.const 1 ) + (func $~lib/typedarray/Int32Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $value + local.get $start + local.get $end + call $~lib/typedarray/Int32Array#fill + ) + (func $~lib/typedarray/Int32Array#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $begin + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $begin + local.get $end + call $~lib/typedarray/Int32Array#slice + ) (func $~lib/typedarray/Int32Array#copyWithin (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) (local $array i32) (local $target|5 i32) @@ -4958,6 +5027,26 @@ memory.copy $0 $0 local.get $array ) + (func $~lib/typedarray/Int32Array#copyWithin@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 2 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.get $target + local.get $start + local.get $end + call $~lib/typedarray/Int32Array#copyWithin + ) (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val @@ -59223,8 +59312,10 @@ local.get $3 i32.const 0 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int8Array#fill + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int8Array#fill@varargs drop local.get $3 i32.const 5 @@ -59277,8 +59368,10 @@ local.get $3 i32.const 2 i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int8Array#fill + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int8Array#fill@varargs drop local.get $3 i32.const 5 @@ -59338,8 +59431,10 @@ local.get $14 i32.const 0 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int8Array#fill + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int8Array#fill@varargs drop local.get $14 call $~lib/typedarray/Int8Array#get:length @@ -59478,8 +59573,10 @@ local.get $19 i32.const 0 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#fill + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#fill@varargs drop local.get $19 i32.const 5 @@ -59532,8 +59629,10 @@ local.get $19 i32.const 2 i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#fill + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#fill@varargs drop local.get $19 i32.const 5 @@ -59593,8 +59692,10 @@ local.get $30 i32.const 0 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#fill + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#fill@varargs drop local.get $30 call $~lib/typedarray/Int32Array#get:length @@ -59920,15 +60021,19 @@ global.get $~lib/memory/__stack_pointer local.get $39 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs local.tee $40 i32.store $0 offset=52 local.get $39 i32.const 0 i32.const 3 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#copyWithin + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#copyWithin@varargs local.set $100 global.get $~lib/memory/__stack_pointer local.get $100 @@ -59957,15 +60062,19 @@ global.get $~lib/memory/__stack_pointer local.get $40 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs local.tee $39 i32.store $0 offset=48 local.get $39 i32.const 1 i32.const 3 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#copyWithin + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#copyWithin@varargs local.set $100 global.get $~lib/memory/__stack_pointer local.get $100 @@ -59994,15 +60103,19 @@ global.get $~lib/memory/__stack_pointer local.get $40 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs local.tee $39 i32.store $0 offset=48 local.get $39 i32.const 1 i32.const 2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#copyWithin + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#copyWithin@varargs local.set $100 global.get $~lib/memory/__stack_pointer local.get $100 @@ -60031,15 +60144,19 @@ global.get $~lib/memory/__stack_pointer local.get $40 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs local.tee $39 i32.store $0 offset=48 local.get $39 i32.const 2 i32.const 2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#copyWithin + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#copyWithin@varargs local.set $100 global.get $~lib/memory/__stack_pointer local.get $100 @@ -60068,8 +60185,10 @@ global.get $~lib/memory/__stack_pointer local.get $40 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs local.tee $39 i32.store $0 offset=48 local.get $39 @@ -60105,8 +60224,10 @@ global.get $~lib/memory/__stack_pointer local.get $40 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs local.tee $39 i32.store $0 offset=48 local.get $39 @@ -60142,8 +60263,10 @@ global.get $~lib/memory/__stack_pointer local.get $40 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs local.tee $39 i32.store $0 offset=48 local.get $39 @@ -60179,15 +60302,19 @@ global.get $~lib/memory/__stack_pointer local.get $40 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs local.tee $39 i32.store $0 offset=48 local.get $39 i32.const 0 i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#copyWithin + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#copyWithin@varargs local.set $100 global.get $~lib/memory/__stack_pointer local.get $100 @@ -60216,8 +60343,10 @@ global.get $~lib/memory/__stack_pointer local.get $40 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs local.tee $39 i32.store $0 offset=48 local.get $39 @@ -60253,8 +60382,10 @@ global.get $~lib/memory/__stack_pointer local.get $40 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs local.tee $39 i32.store $0 offset=48 local.get $39 @@ -60290,8 +60421,10 @@ global.get $~lib/memory/__stack_pointer local.get $40 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs local.tee $39 i32.store $0 offset=48 local.get $39 @@ -60327,15 +60460,19 @@ global.get $~lib/memory/__stack_pointer local.get $40 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs local.tee $39 i32.store $0 offset=48 local.get $39 i32.const -4 i32.const -3 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#copyWithin + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#copyWithin@varargs local.set $100 global.get $~lib/memory/__stack_pointer local.get $100 @@ -60570,8 +60707,10 @@ global.get $~lib/memory/__stack_pointer local.get $65 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs local.tee $69 i32.store $0 offset=76 local.get $69 diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 10f5b49035..53323667f4 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -3935,6 +3935,49 @@ end i32.const 1 ) + (func $~lib/typedarray/Int32Array#fill@varargs (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 + end + i32.const 2147483647 + local.set $3 + end + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/typedarray/Int32Array#fill + ) + (func $~lib/typedarray/Int32Array#slice@varargs (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + block $2of2 + block $1of2 + block $outOfRange + global.get $~argumentsLength + br_table $1of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 2147483647 + local.set $1 + end + local.get $0 + i32.const 0 + local.get $1 + call $~lib/typedarray/Int32Array#slice + ) (func $~lib/typedarray/Int32Array#copyWithin (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) @@ -4040,6 +4083,27 @@ memory.copy $0 $0 local.get $0 ) + (func $~lib/typedarray/Int32Array#copyWithin@varargs (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 2 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + local.set $3 + end + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/typedarray/Int32Array#copyWithin + ) (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 @@ -38455,7 +38519,7 @@ local.set $8 i32.const 0 local.set $0 - loop $for-loop|07 + loop $for-loop|06 local.get $0 local.get $5 i32.lt_s @@ -38483,7 +38547,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|07 + br $for-loop|06 end end i32.const 10 @@ -38832,7 +38896,7 @@ local.set $8 i32.const 0 local.set $0 - loop $for-loop|07 + loop $for-loop|06 local.get $0 local.get $5 i32.lt_s @@ -38860,7 +38924,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|07 + br $for-loop|06 end end i32.const 10 @@ -39178,7 +39242,7 @@ local.set $9 i32.const 0 local.set $0 - loop $for-loop|07 + loop $for-loop|06 local.get $0 local.get $3 i32.lt_s @@ -39210,7 +39274,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|07 + br $for-loop|06 end end i32.const 10 @@ -39263,7 +39327,7 @@ local.set $8 i32.const 0 local.set $0 - loop $for-loop|016 + loop $for-loop|014 local.get $0 local.get $3 i32.lt_s @@ -39295,7 +39359,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|016 + br $for-loop|014 end end i32.const 10 @@ -39339,7 +39403,7 @@ local.set $5 i32.const 0 local.set $0 - loop $for-loop|025 + loop $for-loop|022 local.get $0 local.get $3 i32.lt_s @@ -39369,7 +39433,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|025 + br $for-loop|022 end end i32.const 10 @@ -39706,7 +39770,7 @@ local.set $8 i32.const 0 local.set $0 - loop $for-loop|07 + loop $for-loop|06 local.get $0 local.get $5 i32.lt_s @@ -39736,7 +39800,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|07 + br $for-loop|06 end end i32.const 10 @@ -40096,7 +40160,7 @@ local.set $8 i32.const 0 local.set $0 - loop $for-loop|07 + loop $for-loop|06 local.get $0 local.get $5 i32.lt_s @@ -40126,7 +40190,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|07 + br $for-loop|06 end end i32.const 10 @@ -40489,7 +40553,7 @@ local.set $7 i32.const 0 local.set $0 - loop $for-loop|07 + loop $for-loop|06 local.get $0 local.get $5 i32.lt_s @@ -40519,7 +40583,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|07 + br $for-loop|06 end end i32.const 10 @@ -40882,7 +40946,7 @@ local.set $7 i32.const 0 local.set $0 - loop $for-loop|07 + loop $for-loop|06 local.get $0 local.get $5 i32.lt_s @@ -40912,7 +40976,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|07 + br $for-loop|06 end end i32.const 10 @@ -41273,7 +41337,7 @@ local.set $8 i32.const 0 local.set $0 - loop $for-loop|07 + loop $for-loop|06 local.get $0 local.get $5 i32.lt_s @@ -41303,7 +41367,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|07 + br $for-loop|06 end end i32.const 10 @@ -41664,7 +41728,7 @@ local.set $8 i32.const 0 local.set $0 - loop $for-loop|07 + loop $for-loop|06 local.get $0 local.get $5 i32.lt_s @@ -41694,7 +41758,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|07 + br $for-loop|06 end end i32.const 10 @@ -41947,2071 +42011,2088 @@ (local $10 f64) (local $11 i64) (local $12 i32) - (local $13 i32) - (local $14 i64) - (local $15 f32) - (local $16 f64) + (local $13 i64) + (local $14 f32) + (local $15 f64) global.get $~lib/memory/__stack_pointer i32.const 120 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner41 - block $folding-inner40 - block $folding-inner39 - block $folding-inner38 - block $folding-inner37 - block $folding-inner36 - block $folding-inner35 - block $folding-inner34 - block $folding-inner33 - block $folding-inner32 - block $folding-inner31 - block $folding-inner30 - block $folding-inner29 - block $folding-inner28 - block $folding-inner27 - block $folding-inner26 - block $folding-inner25 - block $folding-inner24 - block $folding-inner23 - block $folding-inner22 - block $folding-inner21 - block $folding-inner20 - block $folding-inner14 - block $folding-inner13 - block $folding-inner12 - block $folding-inner11 - block $folding-inner10 - block $folding-inner9 - block $folding-inner8 - block $folding-inner7 - block $folding-inner6 - block $folding-inner5 - block $folding-inner4 - block $folding-inner3 - block $folding-inner2 - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 120 - memory.fill $0 - memory.size $0 - i32.const 16 - i32.shl - i32.const 49088 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1284 - i32.const 1280 - i32.store $0 - i32.const 1288 - i32.const 1280 - i32.store $0 - i32.const 1280 - global.set $~lib/rt/itcms/pinSpace - i32.const 1316 - i32.const 1312 - i32.store $0 - i32.const 1320 - i32.const 1312 - i32.store $0 - i32.const 1312 - global.set $~lib/rt/itcms/toSpace - i32.const 1460 - i32.const 1456 - i32.store $0 - i32.const 1464 - i32.const 1456 - i32.store $0 - i32.const 1456 - global.set $~lib/rt/itcms/fromSpace - i32.const 0 - call $std/typedarray/testInstantiate - i32.const 5 - call $std/typedarray/testInstantiate - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 95 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 96 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 97 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 98 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 99 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 100 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#subarray - local.tee $2 - i32.store $0 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 103 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 104 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 105 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 106 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - call $~lib/typedarray/Float64Array#constructor - local.tee $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 2 - f64.const 7 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 3 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 5 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 6 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 7 - f64.const 8 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Float64Array#subarray - local.tee $2 - i32.store $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 122 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - i32.const 16 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 123 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 32 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 124 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $~argumentsLength - local.get $2 - call $~lib/typedarray/Float64Array#sort@varargs - drop - local.get $2 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.eq - if (result i32) - local.get $2 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.eq - else - i32.const 0 - end - if (result i32) - local.get $2 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 6 - f64.eq - else - i32.const 0 - end - if (result i32) - local.get $2 - i32.const 3 - call $~lib/typedarray/Float64Array#__get - f64.const 7 - f64.eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 126 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 - i32.store $0 offset=8 - local.get $2 - i32.const 0 - i32.const -32 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 2 - i32.const 256 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - if - i32.const 0 - i32.const 1568 - i32.const 135 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 136 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 255 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 137 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int8Array#constructor - local.tee $7 - i32.store $0 offset=12 - local.get $7 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.load $0 offset=4 - local.set $4 - i32.const 1 - local.get $7 - i32.load $0 offset=8 - local.tee $2 - local.get $2 - i32.const 1 - i32.gt_s - select - local.tee $3 - i32.const 3 - local.get $2 - local.get $2 - i32.const 3 - i32.gt_s - select - local.tee $2 - i32.lt_s - if - local.get $3 - local.get $4 - i32.add - i32.const 1 - local.get $2 - local.get $3 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1728 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 149 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.load $0 offset=4 - local.set $4 - local.get $7 - i32.load $0 offset=8 - local.tee $3 - i32.const 0 - local.get $3 - i32.const 0 - i32.le_s - select - local.tee $2 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $4 - i32.add - i32.const 0 - local.get $3 - local.get $2 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1808 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 152 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.load $0 offset=4 - local.set $4 - local.get $7 - i32.load $0 offset=8 - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - local.tee $3 - local.get $2 - i32.const 3 - i32.sub - local.tee $2 - i32.lt_s - if - local.get $3 - local.get $4 - i32.add - i32.const 1 - local.get $2 - local.get $3 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1840 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 155 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.load $0 offset=4 - local.set $4 - local.get $7 - i32.load $0 offset=8 - local.tee $3 - i32.const 2 - i32.sub - local.tee $2 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $4 - i32.add - i32.const 2 - local.get $3 - local.get $2 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1872 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 158 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.load $0 offset=4 - local.set $4 - i32.const 1 - local.get $7 - i32.load $0 offset=8 - local.tee $2 - local.get $2 - i32.const 1 - i32.gt_s - select - local.tee $3 - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - local.tee $2 - i32.lt_s - if - local.get $3 - local.get $4 - i32.add - i32.const 0 - local.get $2 - local.get $3 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1904 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 161 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $5 - i32.store $0 offset=20 - local.get $5 - i32.load $0 offset=4 - local.set $4 - local.get $5 - i32.load $0 offset=8 - local.tee $3 - i32.const 0 - local.get $3 - i32.const 0 - i32.le_s - select - local.tee $2 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $4 - i32.add - i32.const 0 - local.get $3 - local.get $2 - i32.sub - memory.fill $0 - end - local.get $5 - i32.load $0 offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 165 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.load $0 offset=4 - local.get $5 - i32.load $0 - i32.sub - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 166 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.load $0 offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 167 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 0 - i32.const 16 - i32.const 1936 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $5 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 168 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1968 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 169 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $4 - i32.store $0 offset=24 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#fill - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2000 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 181 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#fill - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2048 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 184 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int32Array#fill - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2096 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 187 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 2 - i32.const -2 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#fill - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2144 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 190 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int32Array#fill - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2192 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 193 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.tee $3 - i32.store $0 offset=28 - local.get $3 - i32.const 0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#fill - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 197 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load $0 offset=4 - local.get $3 - i32.load $0 - i32.sub - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 198 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load $0 offset=8 - i32.const 12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 199 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 17 - i32.const 2240 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 200 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2272 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 201 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Int8Array#constructor - local.tee $2 - i32.store $0 offset=32 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 5 - i32.const 6 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.const 6 - call $~lib/typedarray/Int8Array#subarray - local.tee $2 - i32.store $0 offset=36 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 222 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 223 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 224 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 225 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.const 5 - call $~lib/typedarray/Int8Array#subarray - local.tee $2 - i32.store $0 offset=40 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 228 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 229 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 230 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 231 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $2 - i32.store $0 offset=44 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 234 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 235 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 236 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 237 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $4 - i32.store $0 offset=52 - local.get $2 - i32.const 0 - i32.const 3 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2320 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 248 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 1 - i32.const 3 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2368 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 250 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 1 - i32.const 2 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2416 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 252 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 2 - i32.const 2 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2464 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 254 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2512 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 256 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2560 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 258 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 1 - i32.const 2 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2608 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 260 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 0 - i32.const -2 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2656 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 262 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 0 - i32.const -2 - i32.const -1 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2704 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 264 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const -4 - i32.const -3 - i32.const -2 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2752 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 266 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const -4 - i32.const -3 - i32.const -1 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2800 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 268 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const -4 - i32.const -3 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2848 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 270 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $4 - i32.store $0 offset=60 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.tee $3 - i32.store $0 offset=64 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 282 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load $0 offset=4 - local.get $3 - i32.load $0 - i32.sub - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 283 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load $0 offset=8 - i32.const 12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 284 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=68 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 287 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 288 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 289 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 290 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 291 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=72 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 294 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 295 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 296 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 297 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=76 - local.get $2 - local.get $4 - i32.eq - if - i32.const 0 - i32.const 1568 - i32.const 300 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 301 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - local.get $4 - i32.load $0 offset=4 - local.get $4 - i32.load $0 - i32.sub - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 302 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - local.get $4 - i32.load $0 offset=8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 303 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - 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 16320 - i32.lt_s - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $5 - i32.store $0 - local.get $5 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $5 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $5 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 2896 - i32.store $0 offset=4 - local.get $5 - i32.load $0 offset=4 - local.set $4 - local.get $5 - i32.load $0 offset=8 - local.set $3 - loop $for-loop|0 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $4 - i32.add - i32.load8_s $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $12 - local.get $2 - local.get $0 - local.get $5 - i32.const 2896 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - local.get $12 + block $folding-inner36 + block $folding-inner35 + block $folding-inner34 + block $folding-inner33 + block $folding-inner32 + block $folding-inner31 + block $folding-inner30 + block $folding-inner29 + block $folding-inner28 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner28 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 120 + memory.fill $0 + memory.size $0 + i32.const 16 + i32.shl + i32.const 49088 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1284 + i32.const 1280 + i32.store $0 + i32.const 1288 + i32.const 1280 + i32.store $0 + i32.const 1280 + global.set $~lib/rt/itcms/pinSpace + i32.const 1316 + i32.const 1312 + i32.store $0 + i32.const 1320 + i32.const 1312 + i32.store $0 + i32.const 1312 + global.set $~lib/rt/itcms/toSpace + i32.const 1460 + i32.const 1456 + i32.store $0 + i32.const 1464 + i32.const 1456 + i32.store $0 + i32.const 1456 + global.set $~lib/rt/itcms/fromSpace + i32.const 0 + call $std/typedarray/testInstantiate + i32.const 5 + call $std/typedarray/testInstantiate + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $2 + i32.store $0 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 95 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 96 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 97 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 98 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 99 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 100 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#subarray + local.tee $2 + i32.store $0 + local.get $2 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 103 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 104 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 105 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 106 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + call $~lib/typedarray/Float64Array#constructor + local.tee $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 2 + f64.const 7 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 3 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 4 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 5 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 6 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 7 + f64.const 8 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Float64Array#subarray + local.tee $2 + i32.store $0 offset=4 + local.get $2 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 122 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + i32.const 16 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 123 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 32 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 124 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + global.set $~argumentsLength + local.get $2 + call $~lib/typedarray/Float64Array#sort@varargs + drop + local.get $2 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.eq + if (result i32) + local.get $2 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 5 + f64.eq + else + i32.const 0 + end + if (result i32) + local.get $2 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 6 + f64.eq + else + i32.const 0 + end + if (result i32) + local.get $2 + i32.const 3 + call $~lib/typedarray/Float64Array#__get + f64.const 7 + f64.eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 126 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $2 + i32.store $0 offset=8 + local.get $2 + i32.const 0 + i32.const -32 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $2 + i32.const 2 + i32.const 256 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + if + i32.const 0 + i32.const 1568 + i32.const 135 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 136 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 255 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 137 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Int8Array#constructor + local.tee $7 + i32.store $0 offset=12 + local.get $7 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $7 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $7 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $7 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $7 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + local.get $7 + i32.load $0 offset=4 + local.set $4 + i32.const 1 + local.get $7 + i32.load $0 offset=8 + local.tee $2 + local.get $2 + i32.const 1 + i32.gt_s + select + local.tee $3 + i32.const 3 + local.get $2 + local.get $2 + i32.const 3 + i32.gt_s + select + local.tee $2 + i32.lt_s + if + local.get $3 + local.get $4 + i32.add + i32.const 1 + local.get $2 + local.get $3 + i32.sub + memory.fill $0 + end + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1728 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $7 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 149 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + local.get $7 + i32.load $0 offset=4 + local.set $4 + local.get $7 + i32.load $0 offset=8 + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.le_s + select + local.tee $3 + local.get $2 + local.tee $2 + i32.lt_s + if + local.get $3 + local.get $4 + i32.add + i32.const 0 + local.get $2 + local.get $3 + i32.sub + memory.fill $0 + end + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1808 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $7 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 152 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $7 + i32.load $0 offset=4 + local.set $4 + local.get $7 + i32.load $0 offset=8 + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.le_s + select + local.tee $3 + local.get $2 + i32.const 3 + i32.sub + local.tee $2 + i32.lt_s + if + local.get $3 + local.get $4 + i32.add + i32.const 1 + local.get $2 + local.get $3 + i32.sub + memory.fill $0 + end + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1840 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $7 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 155 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~argumentsLength + local.get $7 + i32.load $0 offset=4 + local.set $4 + local.get $7 + i32.load $0 offset=8 + local.tee $2 + i32.const 2 + i32.sub + local.tee $3 + local.get $2 + local.tee $2 + i32.lt_s + if + local.get $3 + local.get $4 + i32.add + i32.const 2 + local.get $2 + local.get $3 + i32.sub + memory.fill $0 + end + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1872 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $7 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 158 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $7 + i32.load $0 offset=4 + local.set $4 + i32.const 1 + local.get $7 + i32.load $0 offset=8 + local.tee $2 + local.get $2 + i32.const 1 + i32.gt_s + select + local.tee $3 + local.get $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.le_s + select + local.tee $2 + i32.lt_s + if + local.get $3 + local.get $4 + i32.add + i32.const 0 + local.get $2 + local.get $3 + i32.sub + memory.fill $0 + end + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1904 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $7 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 161 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.tee $5 + i32.store $0 offset=20 + i32.const 1 + global.set $~argumentsLength + local.get $5 + i32.load $0 offset=4 + local.set $4 + local.get $5 + i32.load $0 offset=8 + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.le_s + select + local.tee $3 + local.get $2 + local.tee $2 + i32.lt_s + if + local.get $3 + local.get $4 + i32.add + i32.const 0 + local.get $2 + local.get $3 + i32.sub + memory.fill $0 + end + local.get $5 + i32.load $0 offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 165 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.load $0 offset=4 + local.get $5 + i32.load $0 + i32.sub + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 166 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.load $0 offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 167 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 0 + i32.const 16 + i32.const 1936 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $5 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 168 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1968 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $7 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 169 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $4 + i32.store $0 offset=24 + local.get $4 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#fill + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2000 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $4 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 181 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + local.get $4 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int32Array#fill@varargs + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2048 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $4 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 184 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 1 + i32.const 0 + i32.const -3 + call $~lib/typedarray/Int32Array#fill + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2096 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $4 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 187 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~argumentsLength + local.get $4 + i32.const 2 + i32.const -2 + call $~lib/typedarray/Int32Array#fill@varargs + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2144 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $4 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 190 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/typedarray/Int32Array#fill + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2192 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $4 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 193 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#subarray + local.tee $3 + i32.store $0 offset=28 + i32.const 1 + global.set $~argumentsLength + local.get $3 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int32Array#fill@varargs + local.get $3 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 197 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.load $0 offset=4 + local.get $3 + i32.load $0 + i32.sub + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 198 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.load $0 offset=8 + i32.const 12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 199 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 17 + i32.const 2240 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 200 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2272 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $4 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 201 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/typedarray/Int8Array#constructor + local.tee $2 + i32.store $0 offset=32 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.const 5 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.const 6 + call $~lib/typedarray/Int8Array#subarray + local.tee $2 + i32.store $0 offset=36 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 222 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 223 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 224 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 225 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.const 5 + call $~lib/typedarray/Int8Array#subarray + local.tee $2 + i32.store $0 offset=40 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 228 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 229 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 230 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 231 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.tee $2 + i32.store $0 offset=44 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 234 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 235 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 236 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 237 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $4 + i32.store $0 offset=52 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2320 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 248 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2368 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 250 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2416 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 252 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.const 2 + i32.const 2 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2464 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 254 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const 0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2512 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 256 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const 1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2560 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 258 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const 1 + i32.const 2 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2608 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 260 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.const 0 + i32.const -2 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2656 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 262 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const 0 + i32.const -2 + i32.const -1 + call $~lib/typedarray/Int32Array#copyWithin + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2704 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 264 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const -4 + i32.const -3 + i32.const -2 + call $~lib/typedarray/Int32Array#copyWithin + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2752 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 266 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const -4 + i32.const -3 + i32.const -1 + call $~lib/typedarray/Int32Array#copyWithin + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2800 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 268 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.const -4 + i32.const -3 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2848 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 270 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $4 + i32.store $0 offset=60 + local.get $4 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#subarray + local.tee $3 + i32.store $0 offset=64 + local.get $3 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 282 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.load $0 offset=4 + local.get $3 + i32.load $0 + i32.sub + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 283 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.load $0 offset=8 + i32.const 12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 284 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#slice + local.tee $2 + i32.store $0 offset=68 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 287 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 288 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 289 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 290 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 291 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#slice + local.tee $2 + i32.store $0 offset=72 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 294 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 295 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 296 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 297 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=76 + local.get $2 + local.get $4 + i32.eq + if + i32.const 0 + i32.const 1568 + i32.const 300 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + local.get $4 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 301 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + local.get $4 + i32.load $0 offset=4 + local.get $4 + i32.load $0 + i32.sub + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 302 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + local.get $4 + i32.load $0 offset=8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 303 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + 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 16320 + i32.lt_s + br_if $folding-inner28 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $5 + i32.store $0 + local.get $5 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $5 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $5 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 2896 + i32.store $0 offset=4 + local.get $5 + i32.load $0 offset=4 + local.set $4 + local.get $5 + i32.load $0 offset=8 + local.set $3 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $4 + i32.add + i32.load8_s $0 + local.set $2 + i32.const 4 + global.set $~argumentsLength + local.get $1 + local.get $2 + local.get $0 + local.get $5 + i32.const 2896 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $1 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + block $folding-inner27 + block $folding-inner26 + block $folding-inner25 + block $folding-inner24 + block $folding-inner23 + block $folding-inner22 + block $folding-inner21 + block $folding-inner20 + block $folding-inner19 + block $folding-inner18 + block $folding-inner17 + block $folding-inner16 + block $folding-inner15 + block $folding-inner14 + block $folding-inner13 + block $folding-inner12 + block $folding-inner11 + block $folding-inner10 + block $folding-inner9 + block $folding-inner8 + block $folding-inner7 + block $folding-inner6 + block $folding-inner5 + block $folding-inner4 + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 + local.get $1 i32.const 255 i32.and i32.const 6 @@ -44054,7 +44135,7 @@ i32.const 2928 i32.store $0 offset=4 i32.const 0 - local.set $12 + local.set $1 local.get $5 i32.load $0 offset=4 local.set $4 @@ -44063,7 +44144,7 @@ local.get $5 i32.load $0 offset=8 local.set $3 - loop $for-loop|019 + loop $for-loop|018 local.get $0 local.get $3 i32.lt_s @@ -44075,22 +44156,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $12 + local.get $1 local.get $2 local.get $0 local.get $5 i32.const 2928 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 + local.set $1 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|019 + br $for-loop|018 end end - local.get $12 + local.get $1 i32.const 255 i32.and i32.const 6 @@ -44133,7 +44214,7 @@ i32.const 2960 i32.store $0 offset=4 i32.const 0 - local.set $12 + local.set $1 local.get $5 i32.load $0 offset=4 local.set $4 @@ -44142,7 +44223,7 @@ local.get $5 i32.load $0 offset=8 local.set $3 - loop $for-loop|029 + loop $for-loop|025 local.get $0 local.get $3 i32.lt_s @@ -44154,22 +44235,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $12 + local.get $1 local.get $2 local.get $0 local.get $5 i32.const 2960 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 + local.set $1 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|029 + br $for-loop|025 end end - local.get $12 + local.get $1 i32.const 255 i32.and i32.const 6 @@ -44212,7 +44293,7 @@ i32.const 2992 i32.store $0 offset=4 i32.const 0 - local.set $12 + local.set $1 local.get $5 i32.load $0 offset=4 local.set $4 @@ -44223,7 +44304,7 @@ i32.const 1 i32.shr_u local.set $3 - loop $for-loop|034 + loop $for-loop|029 local.get $0 local.get $3 i32.lt_s @@ -44237,22 +44318,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $12 + local.get $1 local.get $2 local.get $0 local.get $5 i32.const 2992 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 + local.set $1 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|034 + br $for-loop|029 end end - local.get $12 + local.get $1 i32.const 65535 i32.and i32.const 6 @@ -44295,7 +44376,7 @@ i32.const 3024 i32.store $0 offset=4 i32.const 0 - local.set $12 + local.set $1 local.get $5 i32.load $0 offset=4 local.set $4 @@ -44306,7 +44387,7 @@ i32.const 1 i32.shr_u local.set $3 - loop $for-loop|040 + loop $for-loop|034 local.get $0 local.get $3 i32.lt_s @@ -44320,22 +44401,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $12 + local.get $1 local.get $2 local.get $0 local.get $5 i32.const 3024 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 + local.set $1 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|040 + br $for-loop|034 end end - local.get $12 + local.get $1 i32.const 65535 i32.and i32.const 6 @@ -44378,7 +44459,7 @@ i32.const 3056 i32.store $0 offset=4 i32.const 0 - local.set $12 + local.set $1 local.get $5 i32.load $0 offset=4 local.set $4 @@ -44389,7 +44470,7 @@ i32.const 2 i32.shr_u local.set $3 - loop $for-loop|046 + loop $for-loop|039 local.get $0 local.get $3 i32.lt_s @@ -44403,22 +44484,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $12 + local.get $1 local.get $2 local.get $0 local.get $5 i32.const 3056 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 + local.set $1 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|046 + br $for-loop|039 end end - local.get $12 + local.get $1 i32.const 6 i32.ne br_if $folding-inner1 @@ -44459,7 +44540,7 @@ i32.const 3088 i32.store $0 offset=4 i32.const 0 - local.set $12 + local.set $1 local.get $5 i32.load $0 offset=4 local.set $4 @@ -44470,7 +44551,7 @@ i32.const 2 i32.shr_u local.set $3 - loop $for-loop|052 + loop $for-loop|044 local.get $0 local.get $3 i32.lt_s @@ -44484,22 +44565,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $12 + local.get $1 local.get $2 local.get $0 local.get $5 i32.const 3088 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 + local.set $1 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|052 + br $for-loop|044 end end - local.get $12 + local.get $1 i32.const 6 i32.ne br_if $folding-inner1 @@ -44522,39 +44603,39 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $3 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $3 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 3120 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|058 + local.set $1 + loop $for-loop|049 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -44563,22 +44644,22 @@ local.set $11 i32.const 4 global.set $~argumentsLength - local.get $14 + local.get $13 local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 3120 i32.load $0 call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $14 + local.set $13 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|058 + br $for-loop|049 end end - local.get $14 + local.get $13 i64.const 6 i64.ne br_if $folding-inner1 @@ -44601,17 +44682,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $3 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $3 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set @@ -44619,23 +44700,23 @@ i32.const 3152 i32.store $0 offset=4 i64.const 0 - local.set $14 - local.get $4 + local.set $13 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|064 + local.set $1 + loop $for-loop|055 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -44644,22 +44725,22 @@ local.set $11 i32.const 4 global.set $~argumentsLength - local.get $14 + local.get $13 local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 3152 i32.load $0 call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $14 + local.set $13 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|064 + br $for-loop|055 end end - local.get $14 + local.get $13 i64.const 6 i64.ne br_if $folding-inner1 @@ -44682,39 +44763,39 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $3 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $3 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 3184 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $2 - loop $for-loop|070 + local.set $1 + loop $for-loop|060 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -44723,22 +44804,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $15 + local.get $14 local.get $6 local.get $0 - local.get $4 + local.get $3 i32.const 3184 i32.load $0 call_indirect $0 (type $f32_f32_i32_i32_=>_f32) - local.set $15 + local.set $14 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|070 + br $for-loop|060 end end - local.get $15 + local.get $14 f32.const 6 f32.ne br_if $folding-inner1 @@ -44761,39 +44842,39 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $3 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $3 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer i32.const 3216 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|076 + local.set $1 + loop $for-loop|066 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -44802,22 +44883,22 @@ local.set $10 i32.const 4 global.set $~argumentsLength - local.get $16 + local.get $15 local.get $10 local.get $0 - local.get $4 + local.get $3 i32.const 3216 i32.load $0 call_indirect $0 (type $f64_f64_i32_i32_=>_f64) - local.set $16 + local.set $15 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|076 + br $for-loop|066 end end - local.get $16 + local.get $15 f64.const 6 f64.ne br_if $folding-inner1 @@ -45419,7 +45500,7 @@ i32.const 3248 i32.store $0 offset=4 i32.const 0 - local.set $12 + local.set $1 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45428,7 +45509,7 @@ i32.const 1 i32.sub local.set $0 - loop $for-loop|082 + loop $for-loop|071 local.get $0 i32.const 0 i32.ge_s @@ -45440,22 +45521,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $12 + local.get $1 local.get $2 local.get $0 local.get $4 i32.const 3248 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 + local.set $1 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|082 + br $for-loop|071 end end - local.get $12 + local.get $1 i32.const 255 i32.and i32.const 6 @@ -45498,7 +45579,7 @@ i32.const 3280 i32.store $0 offset=4 i32.const 0 - local.set $12 + local.set $1 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45507,7 +45588,7 @@ i32.const 1 i32.sub local.set $0 - loop $for-loop|088 + loop $for-loop|076 local.get $0 i32.const 0 i32.ge_s @@ -45519,22 +45600,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $12 + local.get $1 local.get $2 local.get $0 local.get $4 i32.const 3280 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 + local.set $1 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|088 + br $for-loop|076 end end - local.get $12 + local.get $1 i32.const 255 i32.and i32.const 6 @@ -45577,7 +45658,7 @@ i32.const 3312 i32.store $0 offset=4 i32.const 0 - local.set $12 + local.set $1 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45586,7 +45667,7 @@ i32.const 1 i32.sub local.set $0 - loop $for-loop|096 + loop $for-loop|083 local.get $0 i32.const 0 i32.ge_s @@ -45598,22 +45679,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $12 + local.get $1 local.get $2 local.get $0 local.get $4 i32.const 3312 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 + local.set $1 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|096 + br $for-loop|083 end end - local.get $12 + local.get $1 i32.const 255 i32.and i32.const 6 @@ -45656,7 +45737,7 @@ i32.const 3344 i32.store $0 offset=4 i32.const 0 - local.set $12 + local.set $1 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45667,7 +45748,7 @@ i32.const 1 i32.sub local.set $0 - loop $for-loop|0102 + loop $for-loop|088 local.get $0 i32.const 0 i32.ge_s @@ -45681,22 +45762,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $12 + local.get $1 local.get $2 local.get $0 local.get $4 i32.const 3344 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 + local.set $1 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0102 + br $for-loop|088 end end - local.get $12 + local.get $1 i32.const 65535 i32.and i32.const 6 @@ -45739,7 +45820,7 @@ i32.const 3376 i32.store $0 offset=4 i32.const 0 - local.set $12 + local.set $1 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45750,7 +45831,7 @@ i32.const 1 i32.sub local.set $0 - loop $for-loop|0108 + loop $for-loop|093 local.get $0 i32.const 0 i32.ge_s @@ -45764,22 +45845,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $12 + local.get $1 local.get $2 local.get $0 local.get $4 i32.const 3376 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 + local.set $1 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0108 + br $for-loop|093 end end - local.get $12 + local.get $1 i32.const 65535 i32.and i32.const 6 @@ -45822,7 +45903,7 @@ i32.const 3408 i32.store $0 offset=4 i32.const 0 - local.set $12 + local.set $1 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45833,7 +45914,7 @@ i32.const 1 i32.sub local.set $0 - loop $for-loop|0114 + loop $for-loop|098 local.get $0 i32.const 0 i32.ge_s @@ -45847,22 +45928,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $12 + local.get $1 local.get $2 local.get $0 local.get $4 i32.const 3408 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 + local.set $1 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0114 + br $for-loop|098 end end - local.get $12 + local.get $1 i32.const 6 i32.ne br_if $folding-inner5 @@ -45903,7 +45984,7 @@ i32.const 3440 i32.store $0 offset=4 i32.const 0 - local.set $12 + local.set $1 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45914,7 +45995,7 @@ i32.const 1 i32.sub local.set $0 - loop $for-loop|0120 + loop $for-loop|0103 local.get $0 i32.const 0 i32.ge_s @@ -45928,22 +46009,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $12 + local.get $1 local.get $2 local.get $0 local.get $4 i32.const 3440 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $12 + local.set $1 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0120 + br $for-loop|0103 end end - local.get $12 + local.get $1 i32.const 6 i32.ne br_if $folding-inner5 @@ -45966,17 +46047,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $3 + local.tee $2 i32.store $0 - local.get $3 + local.get $2 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set @@ -45984,23 +46065,23 @@ i32.const 3472 i32.store $0 offset=4 i64.const 0 - local.set $14 - local.get $3 + local.set $13 + local.get $2 i32.load $0 offset=4 - local.set $2 - local.get $3 + local.set $1 + local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub local.set $0 - loop $for-loop|0126 + loop $for-loop|0108 local.get $0 i32.const 0 i32.ge_s if - local.get $2 + local.get $1 local.get $0 i32.const 3 i32.shl @@ -46009,22 +46090,22 @@ local.set $11 i32.const 4 global.set $~argumentsLength - local.get $14 + local.get $13 local.get $11 local.get $0 - local.get $3 + local.get $2 i32.const 3472 i32.load $0 call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $14 + local.set $13 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0126 + br $for-loop|0108 end end - local.get $14 + local.get $13 i64.const 6 i64.ne br_if $folding-inner5 @@ -46047,17 +46128,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $3 + local.tee $2 i32.store $0 - local.get $3 + local.get $2 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set @@ -46065,23 +46146,23 @@ i32.const 3504 i32.store $0 offset=4 i64.const 0 - local.set $14 - local.get $3 + local.set $13 + local.get $2 i32.load $0 offset=4 - local.set $2 - local.get $3 + local.set $1 + local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub local.set $0 - loop $for-loop|0132 + loop $for-loop|0113 local.get $0 i32.const 0 i32.ge_s if - local.get $2 + local.get $1 local.get $0 i32.const 3 i32.shl @@ -46090,22 +46171,22 @@ local.set $11 i32.const 4 global.set $~argumentsLength - local.get $14 + local.get $13 local.get $11 local.get $0 - local.get $3 + local.get $2 i32.const 3504 i32.load $0 call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $14 + local.set $13 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0132 + br $for-loop|0113 end end - local.get $14 + local.get $13 i64.const 6 i64.ne br_if $folding-inner5 @@ -46128,17 +46209,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $3 + local.tee $2 i32.store $0 - local.get $3 + local.get $2 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set @@ -46146,23 +46227,23 @@ i32.const 3536 i32.store $0 offset=4 f32.const 0 - local.set $15 - local.get $3 + local.set $14 + local.get $2 i32.load $0 offset=4 - local.set $2 - local.get $3 + local.set $1 + local.get $2 i32.load $0 offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub local.set $0 - loop $for-loop|0138 + loop $for-loop|0118 local.get $0 i32.const 0 i32.ge_s if - local.get $2 + local.get $1 local.get $0 i32.const 2 i32.shl @@ -46171,22 +46252,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $15 + local.get $14 local.get $6 local.get $0 - local.get $3 + local.get $2 i32.const 3536 i32.load $0 call_indirect $0 (type $f32_f32_i32_i32_=>_f32) - local.set $15 + local.set $14 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0138 + br $for-loop|0118 end end - local.get $15 + local.get $14 f32.const 6 f32.ne br_if $folding-inner5 @@ -46209,17 +46290,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $3 + local.tee $2 i32.store $0 - local.get $3 + local.get $2 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set @@ -46227,23 +46308,23 @@ i32.const 3568 i32.store $0 offset=4 f64.const 0 - local.set $16 - local.get $3 + local.set $15 + local.get $2 i32.load $0 offset=4 - local.set $2 - local.get $3 + local.set $1 + local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub local.set $0 - loop $for-loop|0144 + loop $for-loop|0123 local.get $0 i32.const 0 i32.ge_s if - local.get $2 + local.get $1 local.get $0 i32.const 3 i32.shl @@ -46252,22 +46333,22 @@ local.set $10 i32.const 4 global.set $~argumentsLength - local.get $16 + local.get $15 local.get $10 local.get $0 - local.get $3 + local.get $2 i32.const 3568 i32.load $0 call_indirect $0 (type $f64_f64_i32_i32_=>_f64) - local.set $16 + local.set $15 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0144 + br $for-loop|0123 end end - local.get $16 + local.get $15 f64.const 6 f64.ne br_if $folding-inner5 @@ -46275,6 +46356,8 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46284,13 +46367,13 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $8 @@ -46321,7 +46404,7 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 local.get $8 @@ -46330,7 +46413,7 @@ local.get $8 i32.load $0 offset=4 local.set $4 - local.get $0 + local.get $1 i32.const 12 i32.const 4 call $~lib/rt/itcms/__new @@ -46343,31 +46426,31 @@ local.tee $2 i32.store $0 offset=4 loop $for-loop|01 + local.get $0 local.get $5 - local.get $13 - i32.gt_s + i32.lt_s if + local.get $0 local.get $4 - local.get $13 i32.add i32.load8_s $0 - local.set $0 + local.set $1 i32.const 3 global.set $~argumentsLength + local.get $0 local.get $2 - local.get $13 i32.add + local.get $1 local.get $0 - local.get $13 local.get $8 i32.const 3600 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store8 $0 - local.get $13 + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|01 end end @@ -46416,7 +46499,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46426,13 +46509,13 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $8 @@ -46463,7 +46546,7 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 local.get $8 @@ -46472,7 +46555,7 @@ local.get $8 i32.load $0 offset=4 local.set $4 - local.get $0 + local.get $1 i32.const 12 i32.const 5 call $~lib/rt/itcms/__new @@ -46485,31 +46568,31 @@ local.tee $2 i32.store $0 offset=4 loop $for-loop|03 + local.get $0 local.get $5 - local.get $13 - i32.gt_s + i32.lt_s if + local.get $0 local.get $4 - local.get $13 i32.add i32.load8_u $0 - local.set $0 + local.set $1 i32.const 3 global.set $~argumentsLength + local.get $0 local.get $2 - local.get $13 i32.add + local.get $1 local.get $0 - local.get $13 local.get $8 i32.const 3632 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store8 $0 - local.get $13 + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|03 end end @@ -46558,7 +46641,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46568,13 +46651,13 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $8 @@ -46605,7 +46688,7 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 local.get $8 @@ -46614,7 +46697,7 @@ local.get $8 i32.load $0 offset=4 local.set $4 - local.get $0 + local.get $1 i32.const 12 i32.const 6 call $~lib/rt/itcms/__new @@ -46627,31 +46710,31 @@ local.tee $2 i32.store $0 offset=4 loop $for-loop|06 + local.get $0 local.get $5 - local.get $13 - i32.gt_s + i32.lt_s if + local.get $0 local.get $4 - local.get $13 i32.add i32.load8_u $0 - local.set $0 + local.set $1 i32.const 3 global.set $~argumentsLength + local.get $0 local.get $2 - local.get $13 i32.add + local.get $1 local.get $0 - local.get $13 local.get $8 i32.const 3664 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store8 $0 - local.get $13 + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|06 end end @@ -46700,7 +46783,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46710,13 +46793,13 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $12 @@ -46747,7 +46830,7 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 local.get $12 @@ -46758,7 +46841,7 @@ local.get $12 i32.load $0 offset=4 local.set $7 - local.get $0 + local.get $1 i32.const 12 i32.const 7 call $~lib/rt/itcms/__new @@ -46774,34 +46857,34 @@ local.tee $3 i32.store $0 offset=4 loop $for-loop|09 + local.get $0 local.get $8 - local.get $13 - i32.gt_s + i32.lt_s if - local.get $7 - local.get $13 + local.get $0 i32.const 1 i32.shl local.tee $2 + local.get $7 i32.add i32.load16_s $0 - local.set $0 + local.set $1 i32.const 3 global.set $~argumentsLength local.get $2 local.get $3 i32.add + local.get $1 local.get $0 - local.get $13 local.get $12 i32.const 3696 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store16 $0 - local.get $13 + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|09 end end @@ -46850,7 +46933,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46860,13 +46943,13 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $12 @@ -46897,7 +46980,7 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 local.get $12 @@ -46908,7 +46991,7 @@ local.get $12 i32.load $0 offset=4 local.set $7 - local.get $0 + local.get $1 i32.const 12 i32.const 8 call $~lib/rt/itcms/__new @@ -46924,34 +47007,34 @@ local.tee $3 i32.store $0 offset=4 loop $for-loop|012 + local.get $0 local.get $8 - local.get $13 - i32.gt_s + i32.lt_s if - local.get $7 - local.get $13 + local.get $0 i32.const 1 i32.shl local.tee $2 + local.get $7 i32.add i32.load16_u $0 - local.set $0 + local.set $1 i32.const 3 global.set $~argumentsLength local.get $2 local.get $3 i32.add + local.get $1 local.get $0 - local.get $13 local.get $12 i32.const 3728 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store16 $0 - local.get $13 + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|012 end end @@ -47000,7 +47083,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47010,13 +47093,13 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $12 @@ -47047,7 +47130,7 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 local.get $12 @@ -47058,7 +47141,7 @@ local.get $12 i32.load $0 offset=4 local.set $7 - local.get $0 + local.get $1 i32.const 12 i32.const 9 call $~lib/rt/itcms/__new @@ -47074,34 +47157,34 @@ local.tee $3 i32.store $0 offset=4 loop $for-loop|015 + local.get $0 local.get $8 - local.get $13 - i32.gt_s + i32.lt_s if - local.get $7 - local.get $13 + local.get $0 i32.const 2 i32.shl local.tee $2 + local.get $7 i32.add i32.load $0 - local.set $0 + local.set $1 i32.const 3 global.set $~argumentsLength local.get $2 local.get $3 i32.add + local.get $1 local.get $0 - local.get $13 local.get $12 i32.const 3760 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store $0 - local.get $13 + local.get $0 i32.const 1 i32.add - local.set $13 + local.set $0 br $for-loop|015 end end @@ -47150,7 +47233,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47160,13 +47243,13 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $12 @@ -47197,7 +47280,7 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 local.get $12 @@ -47208,7 +47291,7 @@ local.get $12 i32.load $0 offset=4 local.set $7 - local.get $0 + local.get $1 i32.const 12 i32.const 10 call $~lib/rt/itcms/__new @@ -47223,36 +47306,36 @@ call $~lib/rt/itcms/__new local.tee $3 i32.store $0 offset=4 - loop $for-loop|018 + loop $for-loop|019 + local.get $0 local.get $8 - local.get $13 - i32.gt_s + i32.lt_s if - local.get $7 - local.get $13 + local.get $0 i32.const 2 i32.shl local.tee $2 + local.get $7 i32.add i32.load $0 - local.set $0 + local.set $1 i32.const 3 global.set $~argumentsLength local.get $2 local.get $3 i32.add + local.get $1 local.get $0 - local.get $13 local.get $12 i32.const 3792 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store $0 - local.get $13 + local.get $0 i32.const 1 i32.add - local.set $13 - br $for-loop|018 + local.set $0 + br $for-loop|019 end end local.get $5 @@ -47300,7 +47383,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47310,13 +47393,13 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $9 @@ -47347,7 +47430,7 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 local.get $9 @@ -47358,7 +47441,7 @@ local.get $9 i32.load $0 offset=4 local.set $5 - local.get $0 + local.get $1 i32.const 12 i32.const 11 call $~lib/rt/itcms/__new @@ -47373,36 +47456,36 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 - loop $for-loop|021 + loop $for-loop|022 + local.get $0 local.get $7 - local.get $13 - i32.gt_s + i32.lt_s if - local.get $5 - local.get $13 + local.get $0 i32.const 3 i32.shl - local.tee $0 + local.tee $1 + local.get $5 i32.add i64.load $0 local.set $11 i32.const 3 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $2 i32.add local.get $11 - local.get $13 + local.get $0 local.get $9 i32.const 3824 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i64) i64.store $0 - local.get $13 + local.get $0 i32.const 1 i32.add - local.set $13 - br $for-loop|021 + local.set $0 + br $for-loop|022 end end local.get $4 @@ -47450,7 +47533,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47460,13 +47543,13 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $9 @@ -47497,7 +47580,7 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 local.get $9 @@ -47508,7 +47591,7 @@ local.get $9 i32.load $0 offset=4 local.set $5 - local.get $0 + local.get $1 i32.const 12 i32.const 12 call $~lib/rt/itcms/__new @@ -47523,36 +47606,36 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 - loop $for-loop|024 + loop $for-loop|026 + local.get $0 local.get $7 - local.get $13 - i32.gt_s + i32.lt_s if - local.get $5 - local.get $13 + local.get $0 i32.const 3 i32.shl - local.tee $0 + local.tee $1 + local.get $5 i32.add i64.load $0 local.set $11 i32.const 3 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $2 i32.add local.get $11 - local.get $13 + local.get $0 local.get $9 i32.const 3856 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i64) i64.store $0 - local.get $13 + local.get $0 i32.const 1 i32.add - local.set $13 - br $for-loop|024 + local.set $0 + br $for-loop|026 end end local.get $4 @@ -47600,7 +47683,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47610,13 +47693,13 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $9 @@ -47647,7 +47730,7 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 local.get $9 @@ -47658,7 +47741,7 @@ local.get $9 i32.load $0 offset=4 local.set $5 - local.get $0 + local.get $1 i32.const 12 i32.const 13 call $~lib/rt/itcms/__new @@ -47673,36 +47756,36 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 - loop $for-loop|027 + loop $for-loop|030 + local.get $0 local.get $7 - local.get $13 - i32.gt_s + i32.lt_s if - local.get $5 - local.get $13 + local.get $0 i32.const 2 i32.shl - local.tee $0 + local.tee $1 + local.get $5 i32.add f32.load $0 local.set $6 i32.const 3 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $2 i32.add local.get $6 - local.get $13 + local.get $0 local.get $9 i32.const 3888 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_f32) f32.store $0 - local.get $13 + local.get $0 i32.const 1 i32.add - local.set $13 - br $for-loop|027 + local.set $0 + br $for-loop|030 end end local.get $4 @@ -47750,7 +47833,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $13 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47760,13 +47843,13 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $9 @@ -47797,7 +47880,7 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 local.get $9 @@ -47808,7 +47891,7 @@ local.get $9 i32.load $0 offset=4 local.set $5 - local.get $0 + local.get $1 i32.const 12 i32.const 14 call $~lib/rt/itcms/__new @@ -47823,36 +47906,36 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store $0 offset=4 - loop $for-loop|030 + loop $for-loop|033 + local.get $0 local.get $7 - local.get $13 - i32.gt_s + i32.lt_s if - local.get $5 - local.get $13 + local.get $0 i32.const 3 i32.shl - local.tee $0 + local.tee $1 + local.get $5 i32.add f64.load $0 local.set $10 i32.const 3 global.set $~argumentsLength - local.get $0 + local.get $1 local.get $2 i32.add local.get $10 - local.get $13 + local.get $0 local.get $9 i32.const 3920 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_f64) f64.store $0 - local.get $13 + local.get $0 i32.const 1 i32.add - local.set $13 - br $for-loop|030 + local.set $0 + br $for-loop|033 end end local.get $4 @@ -47925,17 +48008,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set @@ -47943,30 +48026,30 @@ global.get $~lib/memory/__stack_pointer i32.const 4304 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0150 + local.set $2 + loop $for-loop|0128 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4304 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -47976,51 +48059,51 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0150 + br $for-loop|0128 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0153 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0131 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4336 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0158 + local.set $2 + loop $for-loop|0135 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4336 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0153 + br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0131 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0158 + br $for-loop|0135 end end i32.const 0 @@ -48045,17 +48128,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8Array#__set @@ -48063,30 +48146,30 @@ global.get $~lib/memory/__stack_pointer i32.const 4368 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0164 + local.set $2 + loop $for-loop|0140 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4368 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -48096,51 +48179,51 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0164 + br $for-loop|0140 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0167 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0143 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4400 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0172 + local.set $2 + loop $for-loop|0147 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4400 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0167 + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0143 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0172 + br $for-loop|0147 end end i32.const 0 @@ -48165,102 +48248,102 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0175 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0150 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4432 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0180 + local.set $2 + loop $for-loop|0154 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4432 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0175 + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0150 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0180 + br $for-loop|0154 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0183 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0157 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4464 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0188 + local.set $2 + loop $for-loop|0161 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4464 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0183 + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0157 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0188 + br $for-loop|0161 end end i32.const 0 @@ -48285,17 +48368,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set @@ -48303,34 +48386,34 @@ global.get $~lib/memory/__stack_pointer i32.const 4496 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 - loop $for-loop|0194 + local.set $2 + loop $for-loop|0166 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4496 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -48340,55 +48423,55 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0194 + br $for-loop|0166 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0197 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0169 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4528 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 - loop $for-loop|0202 + local.set $2 + loop $for-loop|0173 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4528 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0197 + br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0169 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0202 + br $for-loop|0173 end end i32.const 0 @@ -48413,17 +48496,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint16Array#__set @@ -48431,34 +48514,34 @@ global.get $~lib/memory/__stack_pointer i32.const 4560 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 - loop $for-loop|0208 + local.set $2 + loop $for-loop|0178 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4560 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -48468,55 +48551,55 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0208 + br $for-loop|0178 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0211 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0181 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4592 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 - loop $for-loop|0216 + local.set $2 + loop $for-loop|0185 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4592 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0211 + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0181 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0216 + br $for-loop|0185 end end i32.const 0 @@ -48541,17 +48624,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set @@ -48559,34 +48642,34 @@ global.get $~lib/memory/__stack_pointer i32.const 4624 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 - loop $for-loop|0222 + local.set $2 + loop $for-loop|0190 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4624 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -48596,55 +48679,55 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0222 + br $for-loop|0190 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0225 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0193 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4656 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 - loop $for-loop|0230 + local.set $2 + loop $for-loop|0197 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4656 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0225 + br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0193 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0230 + br $for-loop|0197 end end i32.const 0 @@ -48669,17 +48752,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint32Array#__set @@ -48687,34 +48770,34 @@ global.get $~lib/memory/__stack_pointer i32.const 4688 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 - loop $for-loop|0236 + local.set $2 + loop $for-loop|0202 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4688 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -48724,55 +48807,55 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0236 + br $for-loop|0202 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0239 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0205 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4720 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 - loop $for-loop|0244 + local.set $2 + loop $for-loop|0209 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 4720 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0239 + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0205 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0244 + br $for-loop|0209 end end i32.const 0 @@ -48797,17 +48880,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $3 i32.const 1 i64.const 4 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $3 i32.const 2 i64.const 6 call $~lib/typedarray/Int64Array#__set @@ -48815,22 +48898,22 @@ global.get $~lib/memory/__stack_pointer i32.const 4752 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0250 + local.set $1 + loop $for-loop|0214 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -48842,7 +48925,7 @@ i32.const 1 local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 4752 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) @@ -48852,33 +48935,33 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0250 + br $for-loop|0214 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0253 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0217 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4784 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0258 + local.set $1 + loop $for-loop|0221 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -48890,17 +48973,17 @@ i32.const 1 local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 4784 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0253 + br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0217 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0258 + br $for-loop|0221 end end i32.const 0 @@ -48925,17 +49008,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $3 i32.const 1 i64.const 4 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $3 i32.const 2 i64.const 6 call $~lib/typedarray/Uint64Array#__set @@ -48943,22 +49026,22 @@ global.get $~lib/memory/__stack_pointer i32.const 4816 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0264 + local.set $1 + loop $for-loop|0226 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -48970,7 +49053,7 @@ i32.const 1 local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 4816 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) @@ -48980,33 +49063,33 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0264 + br $for-loop|0226 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0267 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0229 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4848 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0272 + local.set $1 + loop $for-loop|0233 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -49018,17 +49101,17 @@ i32.const 1 local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 4848 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0267 + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0229 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0272 + br $for-loop|0233 end end i32.const 0 @@ -49053,17 +49136,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $3 i32.const 1 f32.const 4 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $3 i32.const 2 f32.const 6 call $~lib/typedarray/Float32Array#__set @@ -49071,22 +49154,22 @@ global.get $~lib/memory/__stack_pointer i32.const 4880 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $2 - loop $for-loop|0278 + local.set $1 + loop $for-loop|0238 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -49098,7 +49181,7 @@ i32.const 1 local.get $6 local.get $0 - local.get $4 + local.get $3 i32.const 4880 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) @@ -49108,33 +49191,33 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0278 + br $for-loop|0238 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0281 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0241 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4912 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $2 - loop $for-loop|0286 + local.set $1 + loop $for-loop|0245 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -49146,17 +49229,17 @@ i32.const 1 local.get $6 local.get $0 - local.get $4 + local.get $3 i32.const 4912 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0281 + br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0241 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0286 + br $for-loop|0245 end end i32.const 0 @@ -49181,17 +49264,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $3 i32.const 1 f64.const 4 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $3 i32.const 2 f64.const 6 call $~lib/typedarray/Float64Array#__set @@ -49199,22 +49282,22 @@ global.get $~lib/memory/__stack_pointer i32.const 4944 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0292 + local.set $1 + loop $for-loop|0250 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -49226,7 +49309,7 @@ i32.const 1 local.get $10 local.get $0 - local.get $4 + local.get $3 i32.const 4944 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) @@ -49236,33 +49319,33 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0292 + br $for-loop|0250 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0295 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0253 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4976 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0300 + local.set $1 + loop $for-loop|0257 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -49274,17 +49357,17 @@ i32.const 1 local.get $10 local.get $0 - local.get $4 + local.get $3 i32.const 4976 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0295 + br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0253 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0300 + br $for-loop|0257 end end i32.const 0 @@ -49309,47 +49392,47 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer i32.const 5008 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 + local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - loop $for-loop|0306 + loop $for-loop|0262 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5008 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -49358,7 +49441,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0306 + br $for-loop|0262 end end i32.const -1 @@ -49371,39 +49454,39 @@ global.get $~lib/memory/__stack_pointer i32.const 5040 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0309 - loop $for-loop|0314 + local.set $2 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0265 + loop $for-loop|0269 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5040 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0309 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0265 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0314 + br $for-loop|0269 end end i32.const -1 @@ -49432,47 +49515,47 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 5072 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 + local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - loop $for-loop|0320 + loop $for-loop|0274 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5072 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -49481,7 +49564,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0320 + br $for-loop|0274 end end i32.const -1 @@ -49494,39 +49577,39 @@ global.get $~lib/memory/__stack_pointer i32.const 5104 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0323 - loop $for-loop|0328 + local.set $2 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0277 + loop $for-loop|0281 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5104 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0323 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0277 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0328 + br $for-loop|0281 end end i32.const -1 @@ -49555,56 +49638,56 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer i32.const 5136 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0331 - loop $for-loop|0336 + local.set $2 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0284 + loop $for-loop|0288 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5136 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0331 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0284 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0336 + br $for-loop|0288 end end i32.const -1 @@ -49617,39 +49700,39 @@ global.get $~lib/memory/__stack_pointer i32.const 5168 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0339 - loop $for-loop|0344 + local.set $2 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0291 + loop $for-loop|0295 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5168 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0339 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0291 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0344 + br $for-loop|0295 end end i32.const -1 @@ -49678,51 +49761,51 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 5200 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - loop $for-loop|0350 + loop $for-loop|0300 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5200 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -49731,7 +49814,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0350 + br $for-loop|0300 end end i32.const -1 @@ -49744,43 +49827,43 @@ global.get $~lib/memory/__stack_pointer i32.const 5232 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0353 - loop $for-loop|0358 + local.set $2 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0303 + loop $for-loop|0307 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5232 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0353 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0303 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0358 + br $for-loop|0307 end end i32.const -1 @@ -49809,51 +49892,51 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer i32.const 5264 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - loop $for-loop|0364 + loop $for-loop|0312 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5264 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -49862,7 +49945,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0364 + br $for-loop|0312 end end i32.const -1 @@ -49875,43 +49958,43 @@ global.get $~lib/memory/__stack_pointer i32.const 5296 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0367 - loop $for-loop|0372 + local.set $2 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0315 + loop $for-loop|0319 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5296 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0367 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0315 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0372 + br $for-loop|0319 end end i32.const -1 @@ -49940,51 +50023,51 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer i32.const 5328 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - loop $for-loop|0378 + loop $for-loop|0324 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5328 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -49993,7 +50076,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0378 + br $for-loop|0324 end end i32.const -1 @@ -50006,43 +50089,43 @@ global.get $~lib/memory/__stack_pointer i32.const 5360 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0381 - loop $for-loop|0386 + local.set $2 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0327 + loop $for-loop|0331 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5360 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0381 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0327 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0386 + br $for-loop|0331 end end i32.const -1 @@ -50071,51 +50154,51 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer i32.const 5392 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - loop $for-loop|0392 + loop $for-loop|0336 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5392 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -50124,7 +50207,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0392 + br $for-loop|0336 end end i32.const -1 @@ -50137,43 +50220,43 @@ global.get $~lib/memory/__stack_pointer i32.const 5424 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0395 - loop $for-loop|0400 + local.set $2 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0339 + loop $for-loop|0343 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 5424 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0395 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0339 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0400 + br $for-loop|0343 end end i32.const -1 @@ -50202,40 +50285,40 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $3 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $3 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 5456 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $1 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - loop $for-loop|0406 + loop $for-loop|0348 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -50246,7 +50329,7 @@ global.set $~argumentsLength local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 5456 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) @@ -50255,7 +50338,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0406 + br $for-loop|0348 end end i32.const -1 @@ -50268,23 +50351,23 @@ global.get $~lib/memory/__stack_pointer i32.const 5488 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0409 - loop $for-loop|0414 + local.set $1 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0351 + loop $for-loop|0355 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -50295,16 +50378,16 @@ global.set $~argumentsLength local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 5488 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0409 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0351 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0414 + br $for-loop|0355 end end i32.const -1 @@ -50333,40 +50416,40 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $3 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $3 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer i32.const 5520 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $1 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - loop $for-loop|0420 + loop $for-loop|0360 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -50377,7 +50460,7 @@ global.set $~argumentsLength local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 5520 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) @@ -50386,7 +50469,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0420 + br $for-loop|0360 end end i32.const -1 @@ -50399,23 +50482,23 @@ global.get $~lib/memory/__stack_pointer i32.const 5552 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0423 - loop $for-loop|0428 + local.set $1 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0363 + loop $for-loop|0367 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -50426,16 +50509,16 @@ global.set $~argumentsLength local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 5552 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0423 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0363 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0428 + br $for-loop|0367 end end i32.const -1 @@ -50464,40 +50547,40 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $3 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $3 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 5584 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $1 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - loop $for-loop|0434 + loop $for-loop|0372 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -50508,7 +50591,7 @@ global.set $~argumentsLength local.get $6 local.get $0 - local.get $4 + local.get $3 i32.const 5584 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) @@ -50517,7 +50600,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0434 + br $for-loop|0372 end end i32.const -1 @@ -50530,23 +50613,23 @@ global.get $~lib/memory/__stack_pointer i32.const 5616 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0437 - loop $for-loop|0442 + local.set $1 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0375 + loop $for-loop|0379 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -50557,16 +50640,16 @@ global.set $~argumentsLength local.get $6 local.get $0 - local.get $4 + local.get $3 i32.const 5616 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0437 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0375 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0442 + br $for-loop|0379 end end i32.const -1 @@ -50595,40 +50678,40 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $3 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $3 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer i32.const 5648 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 + local.set $1 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - loop $for-loop|0448 + loop $for-loop|0384 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -50639,7 +50722,7 @@ global.set $~argumentsLength local.get $10 local.get $0 - local.get $4 + local.get $3 i32.const 5648 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) @@ -50648,7 +50731,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0448 + br $for-loop|0384 end end i32.const -1 @@ -50661,23 +50744,23 @@ global.get $~lib/memory/__stack_pointer i32.const 5680 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0451 - loop $for-loop|0456 + local.set $1 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0387 + loop $for-loop|0391 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -50688,16 +50771,16 @@ global.set $~argumentsLength local.get $10 local.get $0 - local.get $4 + local.get $3 i32.const 5680 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0451 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0387 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0456 + br $for-loop|0391 end end i32.const -1 @@ -50726,47 +50809,47 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer i32.const 5712 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 1 i32.sub local.set $0 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - loop $for-loop|0462 + loop $for-loop|0396 local.get $0 i32.const 0 i32.ge_s if local.get $0 - local.get $3 + local.get $2 i32.add i32.load8_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 5712 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -50775,7 +50858,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|0462 + br $for-loop|0396 end end i32.const -1 @@ -50788,39 +50871,39 @@ global.get $~lib/memory/__stack_pointer i32.const 5744 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 1 i32.sub local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0465 - loop $for-loop|0470 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0399 + loop $for-loop|0403 local.get $0 i32.const 0 i32.ge_s if local.get $0 - local.get $3 + local.get $2 i32.add i32.load8_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 5744 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0465 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0399 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0470 + br $for-loop|0403 end end i32.const -1 @@ -50849,47 +50932,47 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 5776 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 1 i32.sub local.set $0 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - loop $for-loop|0476 + loop $for-loop|0408 local.get $0 i32.const 0 i32.ge_s if local.get $0 - local.get $3 + local.get $2 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 5776 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -50898,7 +50981,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|0476 + br $for-loop|0408 end end i32.const -1 @@ -50911,39 +50994,39 @@ global.get $~lib/memory/__stack_pointer i32.const 5808 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 1 i32.sub local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0479 - loop $for-loop|0484 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0411 + loop $for-loop|0415 local.get $0 i32.const 0 i32.ge_s if local.get $0 - local.get $3 + local.get $2 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 5808 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0479 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0411 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0484 + br $for-loop|0415 end end i32.const -1 @@ -50972,56 +51055,56 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer i32.const 5840 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 1 i32.sub local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0487 - loop $for-loop|0492 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0418 + loop $for-loop|0422 local.get $0 i32.const 0 i32.ge_s if local.get $0 - local.get $3 + local.get $2 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 5840 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0487 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0418 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0492 + br $for-loop|0422 end end i32.const -1 @@ -51034,39 +51117,39 @@ global.get $~lib/memory/__stack_pointer i32.const 5872 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 1 i32.sub local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0495 - loop $for-loop|0500 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0425 + loop $for-loop|0429 local.get $0 i32.const 0 i32.ge_s if local.get $0 - local.get $3 + local.get $2 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 5872 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0495 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0425 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0500 + br $for-loop|0429 end end i32.const -1 @@ -51095,27 +51178,27 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 5904 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 1 i32.shr_u @@ -51123,23 +51206,23 @@ i32.sub local.set $0 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - loop $for-loop|0506 + loop $for-loop|0434 local.get $0 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $0 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 5904 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -51148,7 +51231,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|0506 + br $for-loop|0434 end end i32.const -1 @@ -51161,43 +51244,43 @@ global.get $~lib/memory/__stack_pointer i32.const 5936 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 1 i32.shr_u i32.const 1 i32.sub local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0509 - loop $for-loop|0514 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0437 + loop $for-loop|0441 local.get $0 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $0 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 5936 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0509 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0437 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0514 + br $for-loop|0441 end end i32.const -1 @@ -51226,27 +51309,27 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer i32.const 5968 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 1 i32.shr_u @@ -51254,23 +51337,23 @@ i32.sub local.set $0 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - loop $for-loop|0520 + loop $for-loop|0446 local.get $0 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $0 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 5968 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -51279,7 +51362,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|0520 + br $for-loop|0446 end end i32.const -1 @@ -51292,43 +51375,43 @@ global.get $~lib/memory/__stack_pointer i32.const 6000 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 1 i32.shr_u i32.const 1 i32.sub local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0523 - loop $for-loop|0528 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0449 + loop $for-loop|0453 local.get $0 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $0 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 6000 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0523 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0449 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0528 + br $for-loop|0453 end end i32.const -1 @@ -51357,27 +51440,27 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer i32.const 6032 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -51385,23 +51468,23 @@ i32.sub local.set $0 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - loop $for-loop|0534 + loop $for-loop|0458 local.get $0 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 6032 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -51410,7 +51493,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|0534 + br $for-loop|0458 end end i32.const -1 @@ -51423,43 +51506,43 @@ global.get $~lib/memory/__stack_pointer i32.const 6064 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0537 - loop $for-loop|0542 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0461 + loop $for-loop|0465 local.get $0 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 6064 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0537 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0461 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0542 + br $for-loop|0465 end end i32.const -1 @@ -51488,27 +51571,27 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $3 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $3 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer i32.const 6096 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -51516,23 +51599,23 @@ i32.sub local.set $0 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - loop $for-loop|0548 + loop $for-loop|0470 local.get $0 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 6096 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -51541,7 +51624,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|0548 + br $for-loop|0470 end end i32.const -1 @@ -51554,43 +51637,43 @@ global.get $~lib/memory/__stack_pointer i32.const 6128 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 - local.get $4 + local.set $2 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0551 - loop $for-loop|0556 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0473 + loop $for-loop|0477 local.get $0 i32.const 0 i32.ge_s if - local.get $3 + local.get $2 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $4 + local.get $3 i32.const 6128 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0551 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0473 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0556 + br $for-loop|0477 end end i32.const -1 @@ -51619,27 +51702,27 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $3 + local.tee $2 i32.store $0 - local.get $3 + local.get $2 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 6160 i32.store $0 offset=4 - local.get $3 + local.get $2 i32.load $0 offset=4 - local.set $2 - local.get $3 + local.set $1 + local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u @@ -51647,12 +51730,12 @@ i32.sub local.set $0 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - loop $for-loop|0562 + loop $for-loop|0482 local.get $0 i32.const 0 i32.ge_s if - local.get $2 + local.get $1 local.get $0 i32.const 3 i32.shl @@ -51663,7 +51746,7 @@ global.set $~argumentsLength local.get $11 local.get $0 - local.get $3 + local.get $2 i32.const 6160 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) @@ -51672,7 +51755,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|0562 + br $for-loop|0482 end end i32.const -1 @@ -51685,23 +51768,23 @@ global.get $~lib/memory/__stack_pointer i32.const 6192 i32.store $0 offset=4 - local.get $3 + local.get $2 i32.load $0 offset=4 - local.set $2 - local.get $3 + local.set $1 + local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0565 - loop $for-loop|0570 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0485 + loop $for-loop|0489 local.get $0 i32.const 0 i32.ge_s if - local.get $2 + local.get $1 local.get $0 i32.const 3 i32.shl @@ -51712,16 +51795,16 @@ global.set $~argumentsLength local.get $11 local.get $0 - local.get $3 + local.get $2 i32.const 6192 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0565 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0485 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0570 + br $for-loop|0489 end end i32.const -1 @@ -51750,27 +51833,27 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $3 + local.tee $2 i32.store $0 - local.get $3 + local.get $2 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer i32.const 6224 i32.store $0 offset=4 - local.get $3 + local.get $2 i32.load $0 offset=4 - local.set $2 - local.get $3 + local.set $1 + local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u @@ -51778,12 +51861,12 @@ i32.sub local.set $0 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - loop $for-loop|0576 + loop $for-loop|0494 local.get $0 i32.const 0 i32.ge_s if - local.get $2 + local.get $1 local.get $0 i32.const 3 i32.shl @@ -51794,7 +51877,7 @@ global.set $~argumentsLength local.get $11 local.get $0 - local.get $3 + local.get $2 i32.const 6224 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) @@ -51803,7 +51886,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|0576 + br $for-loop|0494 end end i32.const -1 @@ -51816,23 +51899,23 @@ global.get $~lib/memory/__stack_pointer i32.const 6256 i32.store $0 offset=4 - local.get $3 + local.get $2 i32.load $0 offset=4 - local.set $2 - local.get $3 + local.set $1 + local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0579 - loop $for-loop|0584 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0497 + loop $for-loop|0501 local.get $0 i32.const 0 i32.ge_s if - local.get $2 + local.get $1 local.get $0 i32.const 3 i32.shl @@ -51843,16 +51926,16 @@ global.set $~argumentsLength local.get $11 local.get $0 - local.get $3 + local.get $2 i32.const 6256 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0579 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0497 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0584 + br $for-loop|0501 end end i32.const -1 @@ -51881,27 +51964,27 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $3 + local.tee $2 i32.store $0 - local.get $3 + local.get $2 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $3 + local.get $2 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 6288 i32.store $0 offset=4 - local.get $3 + local.get $2 i32.load $0 offset=4 - local.set $2 - local.get $3 + local.set $1 + local.get $2 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -51909,12 +51992,12 @@ i32.sub local.set $0 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - loop $for-loop|0590 + loop $for-loop|0506 local.get $0 i32.const 0 i32.ge_s if - local.get $2 + local.get $1 local.get $0 i32.const 2 i32.shl @@ -51925,7 +52008,7 @@ global.set $~argumentsLength local.get $6 local.get $0 - local.get $3 + local.get $2 i32.const 6288 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) @@ -51934,7 +52017,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|0590 + br $for-loop|0506 end end i32.const -1 @@ -51947,23 +52030,23 @@ global.get $~lib/memory/__stack_pointer i32.const 6320 i32.store $0 offset=4 - local.get $3 + local.get $2 i32.load $0 offset=4 - local.set $2 - local.get $3 + local.set $1 + local.get $2 i32.load $0 offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0593 - loop $for-loop|0598 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0509 + loop $for-loop|0513 local.get $0 i32.const 0 i32.ge_s if - local.get $2 + local.get $1 local.get $0 i32.const 2 i32.shl @@ -51974,16 +52057,16 @@ global.set $~argumentsLength local.get $6 local.get $0 - local.get $3 + local.get $2 i32.const 6320 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0593 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0509 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0598 + br $for-loop|0513 end end i32.const -1 @@ -52012,27 +52095,27 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $3 + local.tee $2 i32.store $0 - local.get $3 + local.get $2 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $3 + local.get $2 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer i32.const 6352 i32.store $0 offset=4 - local.get $3 + local.get $2 i32.load $0 offset=4 - local.set $2 - local.get $3 + local.set $1 + local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u @@ -52040,12 +52123,12 @@ i32.sub local.set $0 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - loop $for-loop|0604 + loop $for-loop|0518 local.get $0 i32.const 0 i32.ge_s if - local.get $2 + local.get $1 local.get $0 i32.const 3 i32.shl @@ -52056,7 +52139,7 @@ global.set $~argumentsLength local.get $10 local.get $0 - local.get $3 + local.get $2 i32.const 6352 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) @@ -52065,7 +52148,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|0604 + br $for-loop|0518 end end i32.const -1 @@ -52078,23 +52161,23 @@ global.get $~lib/memory/__stack_pointer i32.const 6384 i32.store $0 offset=4 - local.get $3 + local.get $2 i32.load $0 offset=4 - local.set $2 - local.get $3 + local.set $1 + local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0607 - loop $for-loop|0612 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0521 + loop $for-loop|0525 local.get $0 i32.const 0 i32.ge_s if - local.get $2 + local.get $1 local.get $0 i32.const 3 i32.shl @@ -52105,16 +52188,16 @@ global.set $~argumentsLength local.get $10 local.get $0 - local.get $3 + local.get $2 i32.const 6384 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0607 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0521 local.get $0 i32.const 1 i32.sub local.set $0 - br $for-loop|0612 + br $for-loop|0525 end end i32.const -1 @@ -52143,17 +52226,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set @@ -52161,30 +52244,30 @@ global.get $~lib/memory/__stack_pointer i32.const 6416 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0618 + local.set $2 + loop $for-loop|0530 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6416 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -52195,52 +52278,52 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0618 + br $for-loop|0530 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0621 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0533 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6448 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0626 + local.set $2 + loop $for-loop|0537 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6448 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0621 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0533 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0626 + br $for-loop|0537 end end i32.const 1 @@ -52265,17 +52348,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8Array#__set @@ -52283,30 +52366,30 @@ global.get $~lib/memory/__stack_pointer i32.const 6480 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0632 + local.set $2 + loop $for-loop|0542 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6480 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -52317,52 +52400,52 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0632 + br $for-loop|0542 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0635 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0545 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6512 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0640 + local.set $2 + loop $for-loop|0549 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6512 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0635 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0545 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0640 + br $for-loop|0549 end end i32.const 1 @@ -52387,104 +52470,104 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0643 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0552 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6544 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0648 + local.set $2 + loop $for-loop|0556 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6544 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0643 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0552 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0648 + br $for-loop|0556 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0651 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0559 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6576 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0656 + local.set $2 + loop $for-loop|0563 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6576 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0651 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0559 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0656 + br $for-loop|0563 end end i32.const 1 @@ -52509,17 +52592,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set @@ -52527,34 +52610,34 @@ global.get $~lib/memory/__stack_pointer i32.const 6608 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 - loop $for-loop|0662 + local.set $2 + loop $for-loop|0568 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6608 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -52565,56 +52648,56 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0662 + br $for-loop|0568 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0665 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0571 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6640 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 - loop $for-loop|0670 + local.set $2 + loop $for-loop|0575 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6640 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0665 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0571 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0670 + br $for-loop|0575 end end i32.const 1 @@ -52639,17 +52722,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint16Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint16Array#__set @@ -52657,34 +52740,34 @@ global.get $~lib/memory/__stack_pointer i32.const 6672 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 - loop $for-loop|0676 + local.set $2 + loop $for-loop|0580 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6672 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -52695,56 +52778,56 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0676 + br $for-loop|0580 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0679 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0583 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6704 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 - loop $for-loop|0684 + local.set $2 + loop $for-loop|0587 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6704 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0679 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0583 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0684 + br $for-loop|0587 end end i32.const 1 @@ -52769,17 +52852,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set @@ -52787,34 +52870,34 @@ global.get $~lib/memory/__stack_pointer i32.const 6736 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 - loop $for-loop|0690 + local.set $2 + loop $for-loop|0592 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6736 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -52825,56 +52908,56 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0690 + br $for-loop|0592 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0693 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0595 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6768 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 - loop $for-loop|0698 + local.set $2 + loop $for-loop|0599 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6768 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0693 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0595 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0698 + br $for-loop|0599 end end i32.const 1 @@ -52899,17 +52982,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 i32.const 0 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $4 i32.const 1 i32.const 4 call $~lib/typedarray/Uint32Array#__set - local.get $5 + local.get $4 i32.const 2 i32.const 6 call $~lib/typedarray/Uint32Array#__set @@ -52917,34 +53000,34 @@ global.get $~lib/memory/__stack_pointer i32.const 6800 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 - loop $for-loop|0704 + local.set $2 + loop $for-loop|0604 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6800 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -52955,56 +53038,56 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0704 + br $for-loop|0604 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0707 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0607 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6832 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 - loop $for-loop|0712 + local.set $2 + loop $for-loop|0611 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 6832 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0707 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0607 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0712 + br $for-loop|0611 end end i32.const 1 @@ -53029,17 +53112,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $3 i32.const 1 i64.const 4 call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $3 i32.const 2 i64.const 6 call $~lib/typedarray/Int64Array#__set @@ -53047,22 +53130,22 @@ global.get $~lib/memory/__stack_pointer i32.const 6864 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0718 + local.set $1 + loop $for-loop|0616 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -53074,7 +53157,7 @@ i32.const 0 local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 6864 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) @@ -53085,33 +53168,33 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0718 + br $for-loop|0616 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0721 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0619 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6896 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0726 + local.set $1 + loop $for-loop|0623 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -53123,18 +53206,18 @@ i32.const 0 local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 6896 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0721 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0619 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0726 + br $for-loop|0623 end end i32.const 1 @@ -53159,17 +53242,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $3 i32.const 1 i64.const 4 call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $3 i32.const 2 i64.const 6 call $~lib/typedarray/Uint64Array#__set @@ -53177,22 +53260,22 @@ global.get $~lib/memory/__stack_pointer i32.const 6928 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0732 + local.set $1 + loop $for-loop|0628 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -53204,7 +53287,7 @@ i32.const 0 local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 6928 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) @@ -53215,33 +53298,33 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0732 + br $for-loop|0628 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0735 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0631 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6960 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0740 + local.set $1 + loop $for-loop|0635 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -53253,18 +53336,18 @@ i32.const 0 local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 6960 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0735 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0631 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0740 + br $for-loop|0635 end end i32.const 1 @@ -53289,17 +53372,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $3 i32.const 1 f32.const 4 call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $3 i32.const 2 f32.const 6 call $~lib/typedarray/Float32Array#__set @@ -53307,22 +53390,22 @@ global.get $~lib/memory/__stack_pointer i32.const 6992 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $2 - loop $for-loop|0746 + local.set $1 + loop $for-loop|0640 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -53334,7 +53417,7 @@ i32.const 0 local.get $6 local.get $0 - local.get $4 + local.get $3 i32.const 6992 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) @@ -53345,33 +53428,33 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0746 + br $for-loop|0640 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0749 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0643 (result i32) global.get $~lib/memory/__stack_pointer i32.const 7024 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $2 - loop $for-loop|0754 + local.set $1 + loop $for-loop|0647 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -53383,18 +53466,18 @@ i32.const 0 local.get $6 local.get $0 - local.get $4 + local.get $3 i32.const 7024 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0749 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0643 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0754 + br $for-loop|0647 end end i32.const 1 @@ -53419,17 +53502,17 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 i32.const 0 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $3 i32.const 1 f64.const 4 call $~lib/typedarray/Float64Array#__set - local.get $4 + local.get $3 i32.const 2 f64.const 6 call $~lib/typedarray/Float64Array#__set @@ -53437,22 +53520,22 @@ global.get $~lib/memory/__stack_pointer i32.const 7056 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0760 + local.set $1 + loop $for-loop|0652 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -53464,7 +53547,7 @@ i32.const 0 local.get $10 local.get $0 - local.get $4 + local.get $3 i32.const 7056 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) @@ -53475,33 +53558,33 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0760 + br $for-loop|0652 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0763 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0655 (result i32) global.get $~lib/memory/__stack_pointer i32.const 7088 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0768 + local.set $1 + loop $for-loop|0659 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -53513,18 +53596,18 @@ i32.const 0 local.get $10 local.get $0 - local.get $4 + local.get $3 i32.const 7088 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0763 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0655 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0768 + br $for-loop|0659 end end i32.const 1 @@ -53554,14 +53637,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 0 i32.const 7152 i32.const 0 @@ -53571,7 +53654,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 1 i32.const 7152 i32.const 1 @@ -53581,7 +53664,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 i32.const 7152 i32.const 2 @@ -53591,29 +53674,29 @@ global.get $~lib/memory/__stack_pointer i32.const 7200 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0774 + local.set $2 + loop $for-loop|0664 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 7200 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) @@ -53621,7 +53704,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0774 + br $for-loop|0664 end end global.get $std/typedarray/forEachCallCount @@ -53652,14 +53735,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 0 i32.const 7152 i32.const 0 @@ -53670,7 +53753,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 1 i32.const 7152 i32.const 1 @@ -53681,7 +53764,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 i32.const 7152 i32.const 2 @@ -53692,29 +53775,29 @@ global.get $~lib/memory/__stack_pointer i32.const 7232 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0780 + local.set $2 + loop $for-loop|0669 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 7232 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) @@ -53722,7 +53805,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0780 + br $for-loop|0669 end end global.get $std/typedarray/forEachCallCount @@ -53753,14 +53836,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 0 i32.const 7152 i32.const 0 @@ -53771,7 +53854,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 1 i32.const 7152 i32.const 1 @@ -53782,7 +53865,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 i32.const 7152 i32.const 2 @@ -53793,29 +53876,29 @@ global.get $~lib/memory/__stack_pointer i32.const 7264 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 - local.set $3 - loop $for-loop|0788 + local.set $2 + loop $for-loop|0676 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $4 + local.get $3 i32.add i32.load8_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 7264 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) @@ -53823,7 +53906,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0788 + br $for-loop|0676 end end global.get $std/typedarray/forEachCallCount @@ -53854,14 +53937,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 0 i32.const 7152 i32.const 0 @@ -53871,7 +53954,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 1 i32.const 7152 i32.const 1 @@ -53881,7 +53964,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 i32.const 7152 i32.const 2 @@ -53891,33 +53974,33 @@ global.get $~lib/memory/__stack_pointer i32.const 7296 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 - loop $for-loop|0794 + local.set $2 + loop $for-loop|0681 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 7296 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) @@ -53925,7 +54008,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0794 + br $for-loop|0681 end end global.get $std/typedarray/forEachCallCount @@ -53956,14 +54039,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 0 i32.const 7152 i32.const 0 @@ -53974,7 +54057,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 1 i32.const 7152 i32.const 1 @@ -53985,7 +54068,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 i32.const 7152 i32.const 2 @@ -53996,33 +54079,33 @@ global.get $~lib/memory/__stack_pointer i32.const 7328 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $3 - loop $for-loop|0800 + local.set $2 + loop $for-loop|0686 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 7328 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) @@ -54030,7 +54113,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0800 + br $for-loop|0686 end end global.get $std/typedarray/forEachCallCount @@ -54061,14 +54144,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 0 i32.const 7152 i32.const 0 @@ -54077,7 +54160,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 1 i32.const 7152 i32.const 1 @@ -54086,7 +54169,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 i32.const 7152 i32.const 2 @@ -54095,33 +54178,33 @@ global.get $~lib/memory/__stack_pointer i32.const 7360 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 - loop $for-loop|0806 + local.set $2 + loop $for-loop|0691 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 7360 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) @@ -54129,7 +54212,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0806 + br $for-loop|0691 end end global.get $std/typedarray/forEachCallCount @@ -54160,14 +54243,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $5 + local.tee $4 i32.store $0 - local.get $5 + local.get $4 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 0 i32.const 7152 i32.const 0 @@ -54176,7 +54259,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 1 i32.const 7152 i32.const 1 @@ -54185,7 +54268,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $5 + local.get $4 i32.const 2 i32.const 7152 i32.const 2 @@ -54194,33 +54277,33 @@ global.get $~lib/memory/__stack_pointer i32.const 7392 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.load $0 offset=4 - local.set $4 + local.set $3 i32.const 0 local.set $0 - local.get $5 + local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $3 - loop $for-loop|0812 + local.set $2 + loop $for-loop|0696 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $4 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 7392 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) @@ -54228,7 +54311,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0812 + br $for-loop|0696 end end global.get $std/typedarray/forEachCallCount @@ -54259,14 +54342,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.const 0 i32.const 7152 i32.const 0 @@ -54276,7 +54359,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.const 1 i32.const 7152 i32.const 1 @@ -54286,7 +54369,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.const 2 i32.const 7152 i32.const 2 @@ -54296,22 +54379,22 @@ global.get $~lib/memory/__stack_pointer i32.const 7424 i32.store $0 offset=8 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0818 + local.set $1 + loop $for-loop|0701 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -54322,7 +54405,7 @@ global.set $~argumentsLength local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 7424 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_none) @@ -54330,7 +54413,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0818 + br $for-loop|0701 end end global.get $std/typedarray/forEachCallCount @@ -54361,14 +54444,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.const 0 i32.const 7152 i32.const 0 @@ -54378,7 +54461,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.const 1 i32.const 7152 i32.const 1 @@ -54388,7 +54471,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.const 2 i32.const 7152 i32.const 2 @@ -54398,22 +54481,22 @@ global.get $~lib/memory/__stack_pointer i32.const 7456 i32.store $0 offset=8 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0824 + local.set $1 + loop $for-loop|0706 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -54424,7 +54507,7 @@ global.set $~argumentsLength local.get $11 local.get $0 - local.get $4 + local.get $3 i32.const 7456 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_none) @@ -54432,7 +54515,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0824 + br $for-loop|0706 end end global.get $std/typedarray/forEachCallCount @@ -54463,14 +54546,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.const 0 i32.const 7152 i32.const 0 @@ -54480,7 +54563,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.const 1 i32.const 7152 i32.const 1 @@ -54490,7 +54573,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.const 2 i32.const 7152 i32.const 2 @@ -54500,22 +54583,22 @@ global.get $~lib/memory/__stack_pointer i32.const 7488 i32.store $0 offset=8 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $2 - loop $for-loop|0830 + local.set $1 + loop $for-loop|0711 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -54526,7 +54609,7 @@ global.set $~argumentsLength local.get $6 local.get $0 - local.get $4 + local.get $3 i32.const 7488 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_none) @@ -54534,7 +54617,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0830 + br $for-loop|0711 end end global.get $std/typedarray/forEachCallCount @@ -54565,14 +54648,14 @@ local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $3 i32.store $0 - local.get $4 + local.get $3 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.const 0 i32.const 7152 i32.const 0 @@ -54582,7 +54665,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.const 1 i32.const 7152 i32.const 1 @@ -54592,7 +54675,7 @@ global.get $~lib/memory/__stack_pointer i32.const 7152 i32.store $0 offset=4 - local.get $4 + local.get $3 i32.const 2 i32.const 7152 i32.const 2 @@ -54602,22 +54685,22 @@ global.get $~lib/memory/__stack_pointer i32.const 7520 i32.store $0 offset=8 - local.get $4 + local.get $3 i32.load $0 offset=4 - local.set $3 + local.set $2 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - loop $for-loop|0836 + local.set $1 + loop $for-loop|0716 local.get $0 - local.get $2 + local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -54628,7 +54711,7 @@ global.set $~argumentsLength local.get $10 local.get $0 - local.get $4 + local.get $3 i32.const 7520 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_none) @@ -54636,7 +54719,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0836 + br $for-loop|0716 end end global.get $std/typedarray/forEachCallCount @@ -54676,65 +54759,65 @@ local.tee $0 i32.store $0 offset=8 i32.const 0 - local.set $12 - loop $for-loop|0840 + local.set $1 + loop $for-loop|0719 + local.get $1 local.get $3 - local.get $12 - i32.gt_s + i32.lt_s if local.get $2 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get i32.extend8_s call $~lib/typedarray/Int8Array#__set local.get $0 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get i32.extend8_s call $~lib/typedarray/Int8Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|0840 + local.set $1 + br $for-loop|0719 end end local.get $2 call $~lib/typedarray/Int8Array#reverse drop i32.const 0 - local.set $12 + local.set $1 loop $for-loop|1 + local.get $1 local.get $3 - local.get $12 - i32.gt_s + i32.lt_s if local.get $2 - local.get $12 + local.get $1 call $~lib/typedarray/Int8Array#__get i32.const 7616 local.get $3 i32.const 1 i32.sub - local.get $12 + local.get $1 i32.sub call $~lib/array/Array#__get i32.extend8_s i32.ne - br_if $folding-inner29 - local.get $12 + br_if $folding-inner15 + local.get $1 i32.const 1 i32.add - local.set $12 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.set $2 + local.set $1 local.get $0 i32.const 4 i32.const 8 @@ -54743,7 +54826,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 offset=12 - local.get $2 + local.get $1 local.get $0 call $~lib/typedarray/Int8Array#reverse local.tee $0 @@ -54753,31 +54836,29 @@ call $~lib/typedarray/Int8Array#__get i32.const 8 i32.ne - br_if $folding-inner30 + br_if $folding-inner16 local.get $0 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 7 i32.ne - br_if $folding-inner31 + br_if $folding-inner17 local.get $0 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 6 i32.ne - br_if $folding-inner32 + br_if $folding-inner18 local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#__get i32.const 5 i32.ne - br_if $folding-inner33 + br_if $folding-inner19 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -54787,94 +54868,96 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i32.const 0 i32.const 20 memory.fill $0 - local.get $2 + local.get $0 i32.const 7616 i32.store $0 - local.get $2 + local.get $0 i32.const 7628 i32.load $0 - local.tee $4 + local.tee $3 call $~lib/typedarray/Uint8Array#constructor local.tee $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 call $~lib/typedarray/Uint8Array#constructor - local.tee $3 + local.tee $0 i32.store $0 offset=8 - loop $for-loop|05 - local.get $0 - local.get $4 + i32.const 0 + local.set $1 + loop $for-loop|0724 + local.get $1 + local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 7616 - local.get $0 + local.get $1 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set - local.get $3 local.get $0 + local.get $1 i32.const 7616 - local.get $0 + local.get $1 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|05 + local.set $1 + br $for-loop|0724 end end local.get $2 call $~lib/typedarray/Int8Array#reverse drop i32.const 0 - local.set $0 - loop $for-loop|16 - local.get $0 - local.get $4 + local.set $1 + loop $for-loop|1726 + local.get $1 + local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 call $~lib/typedarray/Uint8Array#__get i32.const 7616 - local.get $4 + local.get $3 i32.const 1 i32.sub - local.get $0 + local.get $1 i32.sub call $~lib/array/Array#__get i32.const 255 i32.and i32.ne - br_if $folding-inner29 - local.get $0 + br_if $folding-inner15 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|16 + local.set $1 + br $for-loop|1726 end end global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $3 + local.set $1 + local.get $0 i32.const 8 call $~lib/typedarray/Uint8Array#subarray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 offset=12 - local.get $2 + local.get $1 local.get $0 call $~lib/typedarray/Int8Array#reverse local.tee $0 @@ -54884,31 +54967,29 @@ call $~lib/typedarray/Uint8Array#__get i32.const 8 i32.ne - br_if $folding-inner30 + br_if $folding-inner16 local.get $0 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 7 i32.ne - br_if $folding-inner31 + br_if $folding-inner17 local.get $0 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 6 i32.ne - br_if $folding-inner32 + br_if $folding-inner18 local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#__get i32.const 5 i32.ne - br_if $folding-inner33 + br_if $folding-inner19 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -54918,94 +54999,96 @@ i32.lt_s br_if $folding-inner28 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i32.const 0 i32.const 20 memory.fill $0 - local.get $2 + local.get $0 i32.const 7616 i32.store $0 - local.get $2 + local.get $0 i32.const 7628 i32.load $0 - local.tee $4 + local.tee $3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $3 + local.tee $0 i32.store $0 offset=8 - loop $for-loop|07 - local.get $0 - local.get $4 + i32.const 0 + local.set $1 + loop $for-loop|0731 + local.get $1 + local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 7616 - local.get $0 + local.get $1 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $3 local.get $0 + local.get $1 i32.const 7616 - local.get $0 + local.get $1 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|07 + local.set $1 + br $for-loop|0731 end end local.get $2 call $~lib/typedarray/Int8Array#reverse drop i32.const 0 - local.set $0 - loop $for-loop|18 - local.get $0 - local.get $4 + local.set $1 + loop $for-loop|1733 + local.get $1 + local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 7616 - local.get $4 + local.get $3 i32.const 1 i32.sub - local.get $0 + local.get $1 i32.sub call $~lib/array/Array#__get i32.const 255 i32.and i32.ne - br_if $folding-inner29 - local.get $0 + br_if $folding-inner15 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|18 + local.set $1 + br $for-loop|1733 end end global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $3 + local.set $1 + local.get $0 i32.const 8 call $~lib/typedarray/Uint8ClampedArray#subarray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 offset=12 - local.get $2 + local.get $1 local.get $0 call $~lib/typedarray/Int8Array#reverse local.tee $0 @@ -55015,25 +55098,153 @@ call $~lib/typedarray/Uint8ClampedArray#__get i32.const 8 i32.ne - br_if $folding-inner30 + br_if $folding-inner16 local.get $0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 7 i32.ne - br_if $folding-inner31 + br_if $folding-inner17 local.get $0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 6 i32.ne - br_if $folding-inner32 + br_if $folding-inner18 local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 5 i32.ne - br_if $folding-inner33 + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner28 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 7616 + i32.store $0 + local.get $0 + i32.const 7628 + i32.load $0 + local.tee $3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store $0 offset=8 + i32.const 0 + local.set $1 + loop $for-loop|0738 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 7616 + local.get $1 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + local.get $0 + local.get $1 + i32.const 7616 + local.get $1 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0738 + end + end + local.get $2 + call $~lib/typedarray/Int16Array#reverse + drop + i32.const 0 + local.set $1 + loop $for-loop|1740 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $1 + call $~lib/typedarray/Int16Array#__get + i32.const 7616 + local.get $3 + i32.const 1 + i32.sub + local.get $1 + i32.sub + call $~lib/array/Array#__get + i32.extend16_s + i32.ne + br_if $folding-inner15 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|1740 + end + end + global.get $~lib/memory/__stack_pointer + local.set $1 + local.get $0 + i32.const 8 + call $~lib/typedarray/Int16Array#subarray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + local.get $1 + local.get $0 + call $~lib/typedarray/Int16Array#reverse + local.tee $0 + i32.store $0 offset=16 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 8 + i32.ne + br_if $folding-inner16 + local.get $0 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 7 + i32.ne + br_if $folding-inner17 + local.get $0 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 6 + i32.ne + br_if $folding-inner18 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int16Array#__get + i32.const 5 + i32.ne + br_if $folding-inner19 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -55058,213 +55269,85 @@ i32.const 7628 i32.load $0 local.tee $3 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint16Array#constructor local.tee $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer local.get $3 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint16Array#constructor local.tee $0 i32.store $0 offset=8 i32.const 0 - local.set $12 - loop $for-loop|0846 - local.get $3 - local.get $12 - i32.gt_s - if - local.get $2 - local.get $12 - i32.const 7616 - local.get $12 - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.get $12 - i32.const 7616 - local.get $12 - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|0846 - end - end - local.get $2 - call $~lib/typedarray/Int16Array#reverse - drop - i32.const 0 - local.set $12 - loop $for-loop|1849 + local.set $1 + loop $for-loop|0745 + local.get $1 local.get $3 - local.get $12 - i32.gt_s - if - local.get $2 - local.get $12 - call $~lib/typedarray/Int16Array#__get - i32.const 7616 - local.get $3 - i32.const 1 - i32.sub - local.get $12 - i32.sub - call $~lib/array/Array#__get - i32.extend16_s - i32.ne - br_if $folding-inner29 - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|1849 - end - end - global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $0 - i32.const 8 - call $~lib/typedarray/Int16Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 - local.get $2 - local.get $0 - call $~lib/typedarray/Int16Array#reverse - local.tee $0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 8 - i32.ne - br_if $folding-inner30 - local.get $0 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 7 - i32.ne - br_if $folding-inner31 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 6 - i32.ne - br_if $folding-inner32 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#__get - i32.const 5 - i32.ne - br_if $folding-inner33 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $2 - i32.const 7616 - i32.store $0 - local.get $2 - i32.const 7628 - i32.load $0 - local.tee $4 - call $~lib/typedarray/Uint16Array#constructor - local.tee $2 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Uint16Array#constructor - local.tee $3 - i32.store $0 offset=8 - loop $for-loop|0932 - local.get $0 - local.get $4 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 7616 - local.get $0 + local.get $1 call $~lib/array/Array#__get i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set - local.get $3 local.get $0 + local.get $1 i32.const 7616 - local.get $0 + local.get $1 call $~lib/array/Array#__get i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0932 + local.set $1 + br $for-loop|0745 end end local.get $2 call $~lib/typedarray/Int16Array#reverse drop i32.const 0 - local.set $0 - loop $for-loop|110 - local.get $0 - local.get $4 + local.set $1 + loop $for-loop|1747 + local.get $1 + local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 call $~lib/typedarray/Uint16Array#__get i32.const 7616 - local.get $4 + local.get $3 i32.const 1 i32.sub - local.get $0 + local.get $1 i32.sub call $~lib/array/Array#__get i32.const 65535 i32.and i32.ne - br_if $folding-inner29 - local.get $0 + br_if $folding-inner15 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|110 + local.set $1 + br $for-loop|1747 end end global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $3 + local.set $1 + local.get $0 i32.const 8 call $~lib/typedarray/Uint16Array#subarray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 offset=12 - local.get $2 + local.get $1 local.get $0 call $~lib/typedarray/Int16Array#reverse local.tee $0 @@ -55274,25 +55357,25 @@ call $~lib/typedarray/Uint16Array#__get i32.const 8 i32.ne - br_if $folding-inner30 + br_if $folding-inner16 local.get $0 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 7 i32.ne - br_if $folding-inner31 + br_if $folding-inner17 local.get $0 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 6 i32.ne - br_if $folding-inner32 + br_if $folding-inner18 local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#__get i32.const 5 i32.ne - br_if $folding-inner33 + br_if $folding-inner19 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -55326,33 +55409,33 @@ local.tee $7 i32.store $0 offset=8 i32.const 0 - local.set $12 - loop $for-loop|0855 + local.set $1 + loop $for-loop|0752 + local.get $1 local.get $9 - local.get $12 - i32.gt_s + i32.lt_s if local.get $8 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set local.get $7 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|0855 + local.set $1 + br $for-loop|0752 end end i32.const 0 - local.set $12 + local.set $1 local.get $8 i32.load $0 offset=4 local.set $5 @@ -55373,12 +55456,12 @@ i32.sub local.set $3 loop $while-continue|0 + local.get $1 local.get $4 - local.get $12 - i32.gt_u + i32.lt_u if local.get $5 - local.get $12 + local.get $1 i32.const 2 i32.shl i32.add @@ -55388,7 +55471,7 @@ local.get $0 local.get $5 local.get $3 - local.get $12 + local.get $1 i32.sub i32.const 2 i32.shl @@ -55399,38 +55482,38 @@ local.get $0 local.get $2 i32.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 + local.set $1 br $while-continue|0 end end end i32.const 0 - local.set $12 - loop $for-loop|1858 + local.set $1 + loop $for-loop|1754 + local.get $1 local.get $9 - local.get $12 - i32.gt_s + i32.lt_s if local.get $8 - local.get $12 + local.get $1 call $~lib/typedarray/Int32Array#__get i32.const 7616 local.get $9 i32.const 1 i32.sub - local.get $12 + local.get $1 i32.sub call $~lib/array/Array#__get i32.ne - br_if $folding-inner29 - local.get $12 + br_if $folding-inner15 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|1858 + local.set $1 + br $for-loop|1754 end end global.get $~lib/memory/__stack_pointer @@ -55444,7 +55527,7 @@ local.get $7 i32.store $0 offset=12 i32.const 0 - local.set $12 + local.set $1 local.get $7 i32.load $0 offset=4 local.set $5 @@ -55464,13 +55547,13 @@ i32.const 1 i32.sub local.set $3 - loop $while-continue|012 + loop $while-continue|03 + local.get $1 local.get $4 - local.get $12 - i32.gt_u + i32.lt_u if local.get $5 - local.get $12 + local.get $1 i32.const 2 i32.shl i32.add @@ -55480,7 +55563,7 @@ local.get $0 local.get $5 local.get $3 - local.get $12 + local.get $1 i32.sub i32.const 2 i32.shl @@ -55491,11 +55574,11 @@ local.get $0 local.get $2 i32.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $while-continue|012 + local.set $1 + br $while-continue|03 end end end @@ -55507,25 +55590,25 @@ call $~lib/typedarray/Int32Array#__get i32.const 8 i32.ne - br_if $folding-inner30 + br_if $folding-inner16 local.get $7 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 7 i32.ne - br_if $folding-inner31 + br_if $folding-inner17 local.get $7 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 6 i32.ne - br_if $folding-inner32 + br_if $folding-inner18 local.get $7 i32.const 3 call $~lib/typedarray/Int32Array#__get i32.const 5 i32.ne - br_if $folding-inner33 + br_if $folding-inner19 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -55559,33 +55642,33 @@ local.tee $7 i32.store $0 offset=8 i32.const 0 - local.set $12 - loop $for-loop|0864 + local.set $1 + loop $for-loop|0759 + local.get $1 local.get $9 - local.get $12 - i32.gt_s + i32.lt_s if local.get $8 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set local.get $7 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|0864 + local.set $1 + br $for-loop|0759 end end i32.const 0 - local.set $12 + local.set $1 local.get $8 i32.load $0 offset=4 local.set $5 @@ -55605,13 +55688,13 @@ i32.const 1 i32.sub local.set $3 - loop $while-continue|014 + loop $while-continue|05 + local.get $1 local.get $4 - local.get $12 - i32.gt_u + i32.lt_u if local.get $5 - local.get $12 + local.get $1 i32.const 2 i32.shl i32.add @@ -55621,7 +55704,7 @@ local.get $0 local.get $5 local.get $3 - local.get $12 + local.get $1 i32.sub i32.const 2 i32.shl @@ -55632,38 +55715,38 @@ local.get $0 local.get $2 i32.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $while-continue|014 + local.set $1 + br $while-continue|05 end end end i32.const 0 - local.set $12 - loop $for-loop|1867 + local.set $1 + loop $for-loop|1761 + local.get $1 local.get $9 - local.get $12 - i32.gt_s + i32.lt_s if local.get $8 - local.get $12 + local.get $1 call $~lib/typedarray/Uint32Array#__get i32.const 7616 local.get $9 i32.const 1 i32.sub - local.get $12 + local.get $1 i32.sub call $~lib/array/Array#__get i32.ne - br_if $folding-inner29 - local.get $12 + br_if $folding-inner15 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|1867 + local.set $1 + br $for-loop|1761 end end global.get $~lib/memory/__stack_pointer @@ -55676,7 +55759,7 @@ local.get $7 i32.store $0 offset=12 i32.const 0 - local.set $12 + local.set $1 local.get $7 i32.load $0 offset=4 local.set $5 @@ -55696,13 +55779,13 @@ i32.const 1 i32.sub local.set $3 - loop $while-continue|016 + loop $while-continue|07 + local.get $1 local.get $4 - local.get $12 - i32.gt_u + i32.lt_u if local.get $5 - local.get $12 + local.get $1 i32.const 2 i32.shl i32.add @@ -55712,7 +55795,7 @@ local.get $0 local.get $5 local.get $3 - local.get $12 + local.get $1 i32.sub i32.const 2 i32.shl @@ -55723,11 +55806,11 @@ local.get $0 local.get $2 i32.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $while-continue|016 + local.set $1 + br $while-continue|07 end end end @@ -55739,25 +55822,25 @@ call $~lib/typedarray/Uint32Array#__get i32.const 8 i32.ne - br_if $folding-inner30 + br_if $folding-inner16 local.get $7 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 7 i32.ne - br_if $folding-inner31 + br_if $folding-inner17 local.get $7 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 6 i32.ne - br_if $folding-inner32 + br_if $folding-inner18 local.get $7 i32.const 3 call $~lib/typedarray/Uint32Array#__get i32.const 5 i32.ne - br_if $folding-inner33 + br_if $folding-inner19 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -55791,35 +55874,35 @@ local.tee $5 i32.store $0 offset=8 i32.const 0 - local.set $12 - loop $for-loop|0873 + local.set $1 + loop $for-loop|0766 + local.get $1 local.get $8 - local.get $12 - i32.gt_s + i32.lt_s if local.get $7 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Int64Array#__set local.get $5 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Int64Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|0873 + local.set $1 + br $for-loop|0766 end end i32.const 0 - local.set $12 + local.set $1 local.get $7 i32.load $0 offset=4 local.set $4 @@ -55839,13 +55922,13 @@ i32.const 1 i32.sub local.set $2 - loop $while-continue|017 + loop $while-continue|08 + local.get $1 local.get $3 - local.get $12 - i32.gt_u + i32.lt_u if local.get $4 - local.get $12 + local.get $1 i32.const 3 i32.shl i32.add @@ -55855,7 +55938,7 @@ local.get $0 local.get $4 local.get $2 - local.get $12 + local.get $1 i32.sub i32.const 3 i32.shl @@ -55866,39 +55949,39 @@ local.get $0 local.get $11 i64.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $while-continue|017 + local.set $1 + br $while-continue|08 end end end i32.const 0 - local.set $12 - loop $for-loop|1876 + local.set $1 + loop $for-loop|1768 + local.get $1 local.get $8 - local.get $12 - i32.gt_s + i32.lt_s if local.get $7 - local.get $12 + local.get $1 call $~lib/typedarray/Int64Array#__get i32.const 7616 local.get $8 i32.const 1 i32.sub - local.get $12 + local.get $1 i32.sub call $~lib/array/Array#__get i64.extend_i32_s i64.ne - br_if $folding-inner29 - local.get $12 + br_if $folding-inner15 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|1876 + local.set $1 + br $for-loop|1768 end end global.get $~lib/memory/__stack_pointer @@ -55911,7 +55994,7 @@ local.get $5 i32.store $0 offset=12 i32.const 0 - local.set $12 + local.set $1 local.get $5 i32.load $0 offset=4 local.set $4 @@ -55931,13 +56014,13 @@ i32.const 1 i32.sub local.set $2 - loop $while-continue|019 + loop $while-continue|010 + local.get $1 local.get $3 - local.get $12 - i32.gt_u + i32.lt_u if local.get $4 - local.get $12 + local.get $1 i32.const 3 i32.shl i32.add @@ -55947,7 +56030,7 @@ local.get $0 local.get $4 local.get $2 - local.get $12 + local.get $1 i32.sub i32.const 3 i32.shl @@ -55958,11 +56041,11 @@ local.get $0 local.get $11 i64.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $while-continue|019 + local.set $1 + br $while-continue|010 end end end @@ -55974,25 +56057,25 @@ call $~lib/typedarray/Int64Array#__get i64.const 8 i64.ne - br_if $folding-inner30 + br_if $folding-inner16 local.get $5 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 7 i64.ne - br_if $folding-inner31 + br_if $folding-inner17 local.get $5 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 6 i64.ne - br_if $folding-inner32 + br_if $folding-inner18 local.get $5 i32.const 3 call $~lib/typedarray/Int64Array#__get i64.const 5 i64.ne - br_if $folding-inner33 + br_if $folding-inner19 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -56026,35 +56109,35 @@ local.tee $5 i32.store $0 offset=8 i32.const 0 - local.set $12 - loop $for-loop|0882 + local.set $1 + loop $for-loop|0773 + local.get $1 local.get $8 - local.get $12 - i32.gt_s + i32.lt_s if local.get $7 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set local.get $5 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|0882 + local.set $1 + br $for-loop|0773 end end i32.const 0 - local.set $12 + local.set $1 local.get $7 i32.load $0 offset=4 local.set $4 @@ -56074,13 +56157,13 @@ i32.const 1 i32.sub local.set $2 - loop $while-continue|021 + loop $while-continue|012 + local.get $1 local.get $3 - local.get $12 - i32.gt_u + i32.lt_u if local.get $4 - local.get $12 + local.get $1 i32.const 3 i32.shl i32.add @@ -56090,7 +56173,7 @@ local.get $0 local.get $4 local.get $2 - local.get $12 + local.get $1 i32.sub i32.const 3 i32.shl @@ -56101,39 +56184,39 @@ local.get $0 local.get $11 i64.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $while-continue|021 + local.set $1 + br $while-continue|012 end end end i32.const 0 - local.set $12 - loop $for-loop|1885 + local.set $1 + loop $for-loop|1775 + local.get $1 local.get $8 - local.get $12 - i32.gt_s + i32.lt_s if local.get $7 - local.get $12 + local.get $1 call $~lib/typedarray/Uint64Array#__get i32.const 7616 local.get $8 i32.const 1 i32.sub - local.get $12 + local.get $1 i32.sub call $~lib/array/Array#__get i64.extend_i32_s i64.ne - br_if $folding-inner29 - local.get $12 + br_if $folding-inner15 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|1885 + local.set $1 + br $for-loop|1775 end end global.get $~lib/memory/__stack_pointer @@ -56146,7 +56229,7 @@ local.get $5 i32.store $0 offset=12 i32.const 0 - local.set $12 + local.set $1 local.get $5 i32.load $0 offset=4 local.set $4 @@ -56166,13 +56249,13 @@ i32.const 1 i32.sub local.set $2 - loop $while-continue|023 + loop $while-continue|014 + local.get $1 local.get $3 - local.get $12 - i32.gt_u + i32.lt_u if local.get $4 - local.get $12 + local.get $1 i32.const 3 i32.shl i32.add @@ -56182,7 +56265,7 @@ local.get $0 local.get $4 local.get $2 - local.get $12 + local.get $1 i32.sub i32.const 3 i32.shl @@ -56193,11 +56276,11 @@ local.get $0 local.get $11 i64.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $while-continue|023 + local.set $1 + br $while-continue|014 end end end @@ -56209,25 +56292,25 @@ call $~lib/typedarray/Uint64Array#__get i64.const 8 i64.ne - br_if $folding-inner30 + br_if $folding-inner16 local.get $5 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 7 i64.ne - br_if $folding-inner31 + br_if $folding-inner17 local.get $5 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 6 i64.ne - br_if $folding-inner32 + br_if $folding-inner18 local.get $5 i32.const 3 call $~lib/typedarray/Uint64Array#__get i64.const 5 i64.ne - br_if $folding-inner33 + br_if $folding-inner19 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -56261,35 +56344,35 @@ local.tee $5 i32.store $0 offset=8 i32.const 0 - local.set $12 - loop $for-loop|0891 + local.set $1 + loop $for-loop|0780 + local.get $1 local.get $8 - local.get $12 - i32.gt_s + i32.lt_s if local.get $7 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get f32.convert_i32_s call $~lib/typedarray/Float32Array#__set local.get $5 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get f32.convert_i32_s call $~lib/typedarray/Float32Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|0891 + local.set $1 + br $for-loop|0780 end end i32.const 0 - local.set $12 + local.set $1 local.get $7 i32.load $0 offset=4 local.set $4 @@ -56309,13 +56392,13 @@ i32.const 1 i32.sub local.set $2 - loop $while-continue|024 + loop $while-continue|015 + local.get $1 local.get $3 - local.get $12 - i32.gt_u + i32.lt_u if local.get $4 - local.get $12 + local.get $1 i32.const 2 i32.shl i32.add @@ -56325,7 +56408,7 @@ local.get $0 local.get $4 local.get $2 - local.get $12 + local.get $1 i32.sub i32.const 2 i32.shl @@ -56336,39 +56419,39 @@ local.get $0 local.get $6 f32.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $while-continue|024 + local.set $1 + br $while-continue|015 end end end i32.const 0 - local.set $12 - loop $for-loop|1894 + local.set $1 + loop $for-loop|1782 + local.get $1 local.get $8 - local.get $12 - i32.gt_s + i32.lt_s if local.get $7 - local.get $12 + local.get $1 call $~lib/typedarray/Float32Array#__get i32.const 7616 local.get $8 i32.const 1 i32.sub - local.get $12 + local.get $1 i32.sub call $~lib/array/Array#__get f32.convert_i32_s f32.ne - br_if $folding-inner29 - local.get $12 + br_if $folding-inner15 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|1894 + local.set $1 + br $for-loop|1782 end end global.get $~lib/memory/__stack_pointer @@ -56381,7 +56464,7 @@ local.get $5 i32.store $0 offset=12 i32.const 0 - local.set $12 + local.set $1 local.get $5 i32.load $0 offset=4 local.set $4 @@ -56401,13 +56484,13 @@ i32.const 1 i32.sub local.set $2 - loop $while-continue|026 + loop $while-continue|017 + local.get $1 local.get $3 - local.get $12 - i32.gt_u + i32.lt_u if local.get $4 - local.get $12 + local.get $1 i32.const 2 i32.shl i32.add @@ -56417,7 +56500,7 @@ local.get $0 local.get $4 local.get $2 - local.get $12 + local.get $1 i32.sub i32.const 2 i32.shl @@ -56428,11 +56511,11 @@ local.get $0 local.get $6 f32.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $while-continue|026 + local.set $1 + br $while-continue|017 end end end @@ -56444,25 +56527,25 @@ call $~lib/typedarray/Float32Array#__get f32.const 8 f32.ne - br_if $folding-inner30 + br_if $folding-inner16 local.get $5 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 7 f32.ne - br_if $folding-inner31 + br_if $folding-inner17 local.get $5 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 6 f32.ne - br_if $folding-inner32 + br_if $folding-inner18 local.get $5 i32.const 3 call $~lib/typedarray/Float32Array#__get f32.const 5 f32.ne - br_if $folding-inner33 + br_if $folding-inner19 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -56496,35 +56579,35 @@ local.tee $5 i32.store $0 offset=8 i32.const 0 - local.set $12 - loop $for-loop|0900 + local.set $1 + loop $for-loop|0787 + local.get $1 local.get $8 - local.get $12 - i32.gt_s + i32.lt_s if local.get $7 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get f64.convert_i32_s call $~lib/typedarray/Float64Array#__set local.get $5 - local.get $12 + local.get $1 i32.const 7616 - local.get $12 + local.get $1 call $~lib/array/Array#__get f64.convert_i32_s call $~lib/typedarray/Float64Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|0900 + local.set $1 + br $for-loop|0787 end end i32.const 0 - local.set $12 + local.set $1 local.get $7 i32.load $0 offset=4 local.set $4 @@ -56544,13 +56627,13 @@ i32.const 1 i32.sub local.set $2 - loop $while-continue|027 + loop $while-continue|018 + local.get $1 local.get $3 - local.get $12 - i32.gt_u + i32.lt_u if local.get $4 - local.get $12 + local.get $1 i32.const 3 i32.shl i32.add @@ -56560,7 +56643,7 @@ local.get $0 local.get $4 local.get $2 - local.get $12 + local.get $1 i32.sub i32.const 3 i32.shl @@ -56571,39 +56654,39 @@ local.get $0 local.get $10 f64.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $while-continue|027 + local.set $1 + br $while-continue|018 end end end i32.const 0 - local.set $12 - loop $for-loop|1903 + local.set $1 + loop $for-loop|1789 + local.get $1 local.get $8 - local.get $12 - i32.gt_s + i32.lt_s if local.get $7 - local.get $12 + local.get $1 call $~lib/typedarray/Float64Array#__get i32.const 7616 local.get $8 i32.const 1 i32.sub - local.get $12 + local.get $1 i32.sub call $~lib/array/Array#__get f64.convert_i32_s f64.ne - br_if $folding-inner29 - local.get $12 + br_if $folding-inner15 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|1903 + local.set $1 + br $for-loop|1789 end end global.get $~lib/memory/__stack_pointer @@ -56617,7 +56700,7 @@ local.get $5 i32.store $0 offset=12 i32.const 0 - local.set $12 + local.set $1 local.get $5 i32.load $0 offset=4 local.set $4 @@ -56637,13 +56720,13 @@ i32.const 1 i32.sub local.set $2 - loop $while-continue|029 + loop $while-continue|020 + local.get $1 local.get $3 - local.get $12 - i32.gt_u + i32.lt_u if local.get $4 - local.get $12 + local.get $1 i32.const 3 i32.shl i32.add @@ -56653,7 +56736,7 @@ local.get $0 local.get $4 local.get $2 - local.get $12 + local.get $1 i32.sub i32.const 3 i32.shl @@ -56664,11 +56747,11 @@ local.get $0 local.get $10 f64.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $while-continue|029 + local.set $1 + br $while-continue|020 end end end @@ -56680,25 +56763,25 @@ call $~lib/typedarray/Float64Array#__get f64.const 8 f64.ne - br_if $folding-inner30 + br_if $folding-inner16 local.get $5 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 7 f64.ne - br_if $folding-inner31 + br_if $folding-inner17 local.get $5 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 6 f64.ne - br_if $folding-inner32 + br_if $folding-inner18 local.get $5 i32.const 3 call $~lib/typedarray/Float64Array#__get f64.const 5 f64.ne - br_if $folding-inner33 + br_if $folding-inner19 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -56723,6 +56806,8 @@ i32.const 0 f64.const nan:0x8000000000000 call $~lib/typedarray/Float64Array#__set + i32.const 0 + local.set $1 i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 @@ -56733,14 +56818,13 @@ local.tee $3 i32.eqz local.get $3 - i32.const 0 - i32.le_s + i32.eqz i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 local.get $4 i32.load $0 offset=4 local.set $2 - loop $while-continue|030 + loop $while-continue|021 local.get $1 local.get $3 i32.lt_s @@ -56759,7 +56843,7 @@ i32.const 1 i32.add local.set $1 - br $while-continue|030 + br $while-continue|021 end end i32.const -1 @@ -56786,15 +56870,15 @@ i32.shr_u local.tee $2 i32.eqz - local.get $2 - i32.eqz + local.tee $1 + local.get $1 i32.or br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 drop local.get $4 i32.load $0 offset=4 local.set $1 - loop $while-continue|031 + loop $while-continue|022 local.get $0 local.get $2 i32.lt_s @@ -56815,7 +56899,7 @@ i32.const 1 i32.add local.set $0 - br $while-continue|031 + br $while-continue|022 end end i32.const 0 @@ -56850,14 +56934,13 @@ local.tee $3 i32.eqz local.get $3 - i32.const 0 - i32.le_s + i32.eqz i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 local.get $4 i32.load $0 offset=4 local.set $2 - loop $while-continue|032 + loop $while-continue|023 local.get $1 local.get $3 i32.lt_s @@ -56876,7 +56959,7 @@ i32.const 1 i32.add local.set $1 - br $while-continue|032 + br $while-continue|023 end end i32.const -1 @@ -56903,15 +56986,15 @@ i32.shr_u local.tee $2 i32.eqz - local.get $2 - i32.eqz + local.tee $1 + local.get $1 i32.or br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 drop local.get $4 i32.load $0 offset=4 local.set $1 - loop $while-continue|0912 + loop $while-continue|0798 local.get $0 local.get $2 i32.lt_s @@ -56932,7 +57015,7 @@ i32.const 1 i32.add local.set $0 - br $while-continue|0912 + br $while-continue|0798 end end i32.const 0 @@ -57991,7 +58074,7 @@ unreachable end i32.const 0 - local.set $12 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58015,23 +58098,23 @@ call $~lib/typedarray/Int8Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|035 + loop $for-loop|036 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 i32.const 10928 - local.get $12 + local.get $1 call $~lib/array/Array#__get i32.extend8_s call $~lib/typedarray/Int8Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|035 + local.set $1 + br $for-loop|036 end end global.get $~lib/memory/__stack_pointer @@ -58105,25 +58188,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $12 - loop $for-loop|137 + local.set $1 + loop $for-loop|138 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 call $~lib/typedarray/Int8Array#__get local.get $0 - local.get $12 + local.get $1 call $~lib/typedarray/Int8Array#__get i32.ne - br_if $folding-inner34 - local.get $12 + br_if $folding-inner29 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|137 + local.set $1 + br $for-loop|138 end end global.get $~lib/memory/__stack_pointer @@ -58155,7 +58238,7 @@ i32.store $0 offset=4 i32.const 0 local.set $0 - loop $for-loop|0934 + loop $for-loop|0821 local.get $0 local.get $3 i32.lt_s @@ -58172,7 +58255,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0934 + br $for-loop|0821 end end global.get $~lib/memory/__stack_pointer @@ -58206,7 +58289,7 @@ i32.store $0 offset=16 i32.const 0 local.set $0 - loop $for-loop|1941 + loop $for-loop|1827 local.get $0 local.get $3 i32.lt_s @@ -58218,12 +58301,12 @@ local.get $0 call $~lib/typedarray/Uint8Array#__get i32.ne - br_if $folding-inner34 + br_if $folding-inner29 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|1941 + br $for-loop|1827 end end global.get $~lib/memory/__stack_pointer @@ -58231,7 +58314,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $12 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58255,24 +58338,24 @@ call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|039 + loop $for-loop|040 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 i32.const 10928 - local.get $12 + local.get $1 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|039 + local.set $1 + br $for-loop|040 end end global.get $~lib/memory/__stack_pointer @@ -58346,25 +58429,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $12 - loop $for-loop|141 + local.set $1 + loop $for-loop|142 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 call $~lib/typedarray/Uint8ClampedArray#__get local.get $0 - local.get $12 + local.get $1 call $~lib/typedarray/Uint8ClampedArray#__get i32.ne - br_if $folding-inner34 - local.get $12 + br_if $folding-inner29 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|141 + local.set $1 + br $for-loop|142 end end global.get $~lib/memory/__stack_pointer @@ -58372,7 +58455,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $12 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58396,23 +58479,23 @@ call $~lib/typedarray/Int16Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|043 + loop $for-loop|045 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 i32.const 10928 - local.get $12 + local.get $1 call $~lib/array/Array#__get i32.extend16_s call $~lib/typedarray/Int16Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|043 + local.set $1 + br $for-loop|045 end end global.get $~lib/memory/__stack_pointer @@ -58458,7 +58541,7 @@ local.tee $1 i32.const 1 i32.and - br_if $folding-inner35 + br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 7 @@ -58488,25 +58571,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $12 - loop $for-loop|145 + local.set $1 + loop $for-loop|147 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 call $~lib/typedarray/Int16Array#__get local.get $0 - local.get $12 + local.get $1 call $~lib/typedarray/Int16Array#__get i32.ne - br_if $folding-inner34 - local.get $12 + br_if $folding-inner29 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|145 + local.set $1 + br $for-loop|147 end end global.get $~lib/memory/__stack_pointer @@ -58514,7 +58597,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $12 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58538,24 +58621,24 @@ call $~lib/typedarray/Uint16Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|047 + loop $for-loop|050 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 i32.const 10928 - local.get $12 + local.get $1 call $~lib/array/Array#__get i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|047 + local.set $1 + br $for-loop|050 end end global.get $~lib/memory/__stack_pointer @@ -58601,7 +58684,7 @@ local.tee $1 i32.const 1 i32.and - br_if $folding-inner35 + br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 8 @@ -58631,25 +58714,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $12 - loop $for-loop|149 + local.set $1 + loop $for-loop|152 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 call $~lib/typedarray/Uint16Array#__get local.get $0 - local.get $12 + local.get $1 call $~lib/typedarray/Uint16Array#__get i32.ne - br_if $folding-inner34 - local.get $12 + br_if $folding-inner29 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|149 + local.set $1 + br $for-loop|152 end end global.get $~lib/memory/__stack_pointer @@ -58657,7 +58740,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $12 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58681,22 +58764,22 @@ call $~lib/typedarray/Int32Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|051 + loop $for-loop|054 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 i32.const 10928 - local.get $12 + local.get $1 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|051 + local.set $1 + br $for-loop|054 end end global.get $~lib/memory/__stack_pointer @@ -58742,7 +58825,7 @@ local.tee $1 i32.const 3 i32.and - br_if $folding-inner35 + br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 9 @@ -58772,25 +58855,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $12 - loop $for-loop|153 + local.set $1 + loop $for-loop|156 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 call $~lib/typedarray/Int32Array#__get local.get $0 - local.get $12 + local.get $1 call $~lib/typedarray/Int32Array#__get i32.ne - br_if $folding-inner34 - local.get $12 + br_if $folding-inner29 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|153 + local.set $1 + br $for-loop|156 end end global.get $~lib/memory/__stack_pointer @@ -58798,7 +58881,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $12 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58822,22 +58905,22 @@ call $~lib/typedarray/Uint32Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|055 + loop $for-loop|058 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 i32.const 10928 - local.get $12 + local.get $1 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|055 + local.set $1 + br $for-loop|058 end end global.get $~lib/memory/__stack_pointer @@ -58883,7 +58966,7 @@ local.tee $1 i32.const 3 i32.and - br_if $folding-inner35 + br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 10 @@ -58913,25 +58996,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $12 - loop $for-loop|157 + local.set $1 + loop $for-loop|160 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 call $~lib/typedarray/Uint32Array#__get local.get $0 - local.get $12 + local.get $1 call $~lib/typedarray/Uint32Array#__get i32.ne - br_if $folding-inner34 - local.get $12 + br_if $folding-inner29 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|157 + local.set $1 + br $for-loop|160 end end global.get $~lib/memory/__stack_pointer @@ -58939,7 +59022,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $12 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58963,23 +59046,23 @@ call $~lib/typedarray/Int64Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|059 + loop $for-loop|062 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 i32.const 10928 - local.get $12 + local.get $1 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Int64Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|059 + local.set $1 + br $for-loop|062 end end global.get $~lib/memory/__stack_pointer @@ -59025,7 +59108,7 @@ local.tee $1 i32.const 7 i32.and - br_if $folding-inner35 + br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 11 @@ -59055,25 +59138,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $12 - loop $for-loop|161 + local.set $1 + loop $for-loop|164 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 call $~lib/typedarray/Int64Array#__get local.get $0 - local.get $12 + local.get $1 call $~lib/typedarray/Int64Array#__get i64.ne - br_if $folding-inner34 - local.get $12 + br_if $folding-inner29 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|161 + local.set $1 + br $for-loop|164 end end global.get $~lib/memory/__stack_pointer @@ -59081,7 +59164,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $12 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -59105,23 +59188,23 @@ call $~lib/typedarray/Uint64Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|063 + loop $for-loop|067 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 i32.const 10928 - local.get $12 + local.get $1 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|063 + local.set $1 + br $for-loop|067 end end global.get $~lib/memory/__stack_pointer @@ -59167,7 +59250,7 @@ local.tee $1 i32.const 7 i32.and - br_if $folding-inner35 + br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 12 @@ -59197,25 +59280,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $12 - loop $for-loop|165 + local.set $1 + loop $for-loop|169 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 call $~lib/typedarray/Uint64Array#__get local.get $0 - local.get $12 + local.get $1 call $~lib/typedarray/Uint64Array#__get i64.ne - br_if $folding-inner34 - local.get $12 + br_if $folding-inner29 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|165 + local.set $1 + br $for-loop|169 end end global.get $~lib/memory/__stack_pointer @@ -59223,7 +59306,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $12 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -59247,23 +59330,23 @@ call $~lib/typedarray/Float32Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|067 + loop $for-loop|072 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 i32.const 10928 - local.get $12 + local.get $1 call $~lib/array/Array#__get f32.convert_i32_s call $~lib/typedarray/Float32Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|067 + local.set $1 + br $for-loop|072 end end global.get $~lib/memory/__stack_pointer @@ -59309,7 +59392,7 @@ local.tee $1 i32.const 3 i32.and - br_if $folding-inner35 + br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 13 @@ -59339,25 +59422,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $12 - loop $for-loop|169 + local.set $1 + loop $for-loop|174 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 call $~lib/typedarray/Float32Array#__get local.get $0 - local.get $12 + local.get $1 call $~lib/typedarray/Float32Array#__get f32.ne - br_if $folding-inner34 - local.get $12 + br_if $folding-inner29 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|169 + local.set $1 + br $for-loop|174 end end global.get $~lib/memory/__stack_pointer @@ -59365,7 +59448,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $12 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -59389,23 +59472,23 @@ call $~lib/typedarray/Float64Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|071 + loop $for-loop|077 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 i32.const 10928 - local.get $12 + local.get $1 call $~lib/array/Array#__get f64.convert_i32_s call $~lib/typedarray/Float64Array#__set - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|071 + local.set $1 + br $for-loop|077 end end global.get $~lib/memory/__stack_pointer @@ -59451,7 +59534,7 @@ local.tee $1 i32.const 7 i32.and - br_if $folding-inner35 + br_if $folding-inner30 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 14 @@ -59481,25 +59564,25 @@ local.get $0 i32.store $0 offset=16 i32.const 0 - local.set $12 - loop $for-loop|173 + local.set $1 + loop $for-loop|179 + local.get $1 local.get $5 - local.get $12 - i32.gt_s + i32.lt_s if local.get $4 - local.get $12 + local.get $1 call $~lib/typedarray/Float64Array#__get local.get $0 - local.get $12 + local.get $1 call $~lib/typedarray/Float64Array#__get f64.ne - br_if $folding-inner34 - local.get $12 + br_if $folding-inner29 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|173 + local.set $1 + br $for-loop|179 end end global.get $~lib/memory/__stack_pointer @@ -59608,16 +59691,16 @@ i32.const 11012 i32.load $0 local.set $2 - loop $for-loop|0950 + loop $for-loop|0835 local.get $0 local.get $4 i32.lt_s if - local.get $3 local.get $0 i32.const 2 i32.shl local.tee $1 + local.get $3 i32.add local.get $1 local.get $2 @@ -59629,7 +59712,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0950 + br $for-loop|0835 end end i32.const 10 @@ -59667,7 +59750,7 @@ i32.load $0 offset=8 i32.const 3 i32.shr_u - local.tee $2 + local.tee $3 i32.const 6 i32.add local.get $5 @@ -59680,35 +59763,35 @@ i32.load $0 offset=4 i32.const 24 i32.add - local.set $1 + local.set $2 local.get $9 i32.load $0 offset=4 local.set $0 i32.const 0 - local.set $12 - loop $for-loop|0959 - local.get $2 - local.get $12 - i32.gt_s + local.set $1 + loop $for-loop|0843 + local.get $1 + local.get $3 + i32.lt_s if + local.get $2 local.get $1 - local.get $12 i32.const 2 i32.shl i32.add local.get $0 - local.get $12 + local.get $1 i32.const 3 i32.shl i32.add i64.load $0 f32.convert_i64_s f32.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|0959 + local.set $1 + br $for-loop|0843 end end i32.const 10 @@ -59740,7 +59823,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|0968 + loop $for-loop|0851 local.get $0 local.get $3 i32.lt_s @@ -59760,7 +59843,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0968 + br $for-loop|0851 end end local.get $7 @@ -59786,7 +59869,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|0977 + loop $for-loop|0859 local.get $0 local.get $3 i32.lt_s @@ -59808,7 +59891,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0977 + br $for-loop|0859 end end global.get $~lib/memory/__stack_pointer @@ -59835,7 +59918,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|0986 + loop $for-loop|0867 local.get $0 local.get $3 i32.lt_s @@ -59855,7 +59938,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0986 + br $for-loop|0867 end end i32.const 10 @@ -59890,62 +59973,62 @@ local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $8 + local.tee $9 i32.store $0 - local.get $8 + local.get $9 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set - local.get $8 + local.get $9 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set - local.get $8 + local.get $9 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $7 + local.tee $8 i32.store $0 offset=4 - local.get $7 + local.get $8 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $7 + local.get $8 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $7 + local.get $8 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $7 + local.get $8 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $5 + local.tee $7 i32.store $0 offset=8 - local.get $5 + local.get $7 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $7 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set - local.get $5 + local.get $7 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Float64Array#constructor - local.tee $4 + local.tee $5 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 11008 @@ -59955,19 +60038,19 @@ i32.const 11020 i32.load $0 local.tee $3 - local.get $4 + local.get $5 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner24 - local.get $4 + local.get $5 i32.load $0 offset=4 local.set $2 i32.const 11012 i32.load $0 local.set $1 - loop $for-loop|0995 + loop $for-loop|0875 local.get $0 local.get $3 i32.lt_s @@ -59989,7 +60072,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|0995 + br $for-loop|0875 end end i32.const 10 @@ -60001,7 +60084,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 offset=16 - local.get $4 + local.get $5 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer @@ -60012,13 +60095,13 @@ local.tee $3 i32.const 3 i32.add - local.get $4 + local.get $5 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner24 - local.get $4 + local.get $5 i32.load $0 offset=4 i32.const 24 i32.add @@ -60028,7 +60111,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|01004 + loop $for-loop|0883 local.get $0 local.get $3 i32.lt_s @@ -60050,7 +60133,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|01004 + br $for-loop|0883 end end i32.const 10 @@ -60062,54 +60145,54 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 offset=16 - local.get $4 + local.get $5 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - local.get $8 + local.get $9 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $4 i32.const 6 i32.add - local.get $4 + local.get $5 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner24 - local.get $4 + local.get $5 i32.load $0 offset=4 i32.const 48 i32.add - local.set $2 - local.get $8 + local.set $3 + local.get $9 i32.load $0 offset=4 - local.set $1 + local.set $2 i32.const 0 - local.set $12 - loop $for-loop|01012 - local.get $3 - local.get $12 - i32.gt_s + local.set $1 + loop $for-loop|0890 + local.get $1 + local.get $4 + i32.lt_s if - local.get $2 - local.get $12 + local.get $1 i32.const 3 i32.shl local.tee $0 + local.get $3 i32.add local.get $0 - local.get $1 + local.get $2 i32.add i64.load $0 f64.convert_i64_s f64.store $0 - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|01012 + local.set $1 + br $for-loop|0890 end end i32.const 10 @@ -60121,27 +60204,27 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 offset=16 - local.get $4 + local.get $5 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - local.get $7 + local.get $8 i32.load $0 offset=8 local.tee $3 - local.get $4 + local.get $5 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner24 - local.get $4 + local.get $5 i32.load $0 offset=4 local.set $2 - local.get $7 + local.get $8 i32.load $0 offset=4 local.set $1 i32.const 0 local.set $0 - loop $for-loop|01021 + loop $for-loop|0898 local.get $0 local.get $3 i32.lt_s @@ -60161,33 +60244,33 @@ i32.const 1 i32.add local.set $0 - br $for-loop|01021 + br $for-loop|0898 end end - local.get $5 + local.get $7 i32.load $0 offset=8 i32.const 1 i32.shr_u local.tee $3 i32.const 4 i32.add - local.get $4 + local.get $5 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner24 - local.get $4 + local.get $5 i32.load $0 offset=4 i32.const 32 i32.add local.set $2 - local.get $5 + local.get $7 i32.load $0 offset=4 local.set $1 i32.const 0 local.set $0 - loop $for-loop|01030 + loop $for-loop|0906 local.get $0 local.get $3 i32.lt_s @@ -60209,7 +60292,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|01030 + br $for-loop|0906 end end global.get $~lib/memory/__stack_pointer @@ -60220,13 +60303,13 @@ local.tee $3 i32.const 7 i32.add - local.get $4 + local.get $5 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.gt_s br_if $folding-inner24 - local.get $4 + local.get $5 i32.load $0 offset=4 i32.const 56 i32.add @@ -60236,7 +60319,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|01039 + loop $for-loop|0914 local.get $0 local.get $3 i32.lt_s @@ -60256,7 +60339,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|01039 + br $for-loop|0914 end end i32.const 10 @@ -60268,7 +60351,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 offset=16 - local.get $4 + local.get $5 local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer @@ -60352,7 +60435,7 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|01048 + loop $for-loop|0922 local.get $0 local.get $3 i32.lt_s @@ -60384,7 +60467,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|01048 + br $for-loop|0922 end end local.get $7 @@ -60412,7 +60495,7 @@ local.set $2 i32.const 0 local.set $0 - loop $for-loop|01057 + loop $for-loop|0930 local.get $0 local.get $4 i32.lt_s @@ -60420,7 +60503,6 @@ local.get $0 local.get $3 i32.add - i32.const 255 local.get $2 local.get $0 i32.const 2 @@ -60428,10 +60510,11 @@ i32.add i32.load $0 local.tee $1 + i32.const 255 + local.get $1 i32.sub i32.const 31 i32.shr_s - local.get $1 i32.or local.get $1 i32.const 31 @@ -60444,7 +60527,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|01057 + br $for-loop|0930 end end i32.const 10 @@ -60518,7 +60601,7 @@ local.set $2 i32.const 0 local.set $0 - loop $for-loop|01066 + loop $for-loop|0938 local.get $0 local.get $4 i32.lt_s @@ -60543,7 +60626,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|01066 + br $for-loop|0938 end end local.get $7 @@ -60613,9 +60696,9 @@ i32.store $0 block $1of1 block $0of1 - block $outOfRange + block $outOfRange10 global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange + br_table $0of1 $1of1 $outOfRange10 end unreachable end @@ -60643,19 +60726,19 @@ call $~lib/typedarray/Int8Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner31 local.get $2 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 2 i32.ne - br_if $folding-inner37 + br_if $folding-inner32 local.get $2 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 3 i32.ne - br_if $folding-inner38 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 15376 i32.store $0 offset=8 @@ -60670,19 +60753,19 @@ call $~lib/typedarray/Int8Array#__get i32.const 3 i32.ne - br_if $folding-inner39 + br_if $folding-inner34 local.get $2 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 2 i32.ne - br_if $folding-inner40 + br_if $folding-inner35 local.get $2 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 1 i32.ne - br_if $folding-inner41 + br_if $folding-inner36 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -60736,11 +60819,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of176 - block $0of177 - block $outOfRange78 + block $1of182 + block $0of183 + block $outOfRange84 global.get $~argumentsLength - br_table $0of177 $1of176 $outOfRange78 + br_table $0of183 $1of182 $outOfRange84 end unreachable end @@ -60768,19 +60851,19 @@ call $~lib/typedarray/Uint8Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner31 local.get $2 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 2 i32.ne - br_if $folding-inner37 + br_if $folding-inner32 local.get $2 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 3 i32.ne - br_if $folding-inner38 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 15440 i32.store $0 offset=8 @@ -60795,19 +60878,19 @@ call $~lib/typedarray/Uint8Array#__get i32.const 3 i32.ne - br_if $folding-inner39 + br_if $folding-inner34 local.get $2 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 2 i32.ne - br_if $folding-inner40 + br_if $folding-inner35 local.get $2 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 1 i32.ne - br_if $folding-inner41 + br_if $folding-inner36 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -60861,11 +60944,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of180 - block $0of181 - block $outOfRange82 + block $1of186 + block $0of187 + block $outOfRange88 global.get $~argumentsLength - br_table $0of181 $1of180 $outOfRange82 + br_table $0of187 $1of186 $outOfRange88 end unreachable end @@ -60893,19 +60976,19 @@ call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner31 local.get $2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 2 i32.ne - br_if $folding-inner37 + br_if $folding-inner32 local.get $2 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 i32.ne - br_if $folding-inner38 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 15504 i32.store $0 offset=8 @@ -60920,19 +61003,19 @@ call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 i32.ne - br_if $folding-inner39 + br_if $folding-inner34 local.get $2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 2 i32.ne - br_if $folding-inner40 + br_if $folding-inner35 local.get $2 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 i32.ne - br_if $folding-inner41 + br_if $folding-inner36 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -60986,11 +61069,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of186 - block $0of187 - block $outOfRange88 + block $1of192 + block $0of193 + block $outOfRange94 global.get $~argumentsLength - br_table $0of187 $1of186 $outOfRange88 + br_table $0of193 $1of192 $outOfRange94 end unreachable end @@ -61020,19 +61103,19 @@ call $~lib/typedarray/Int16Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner31 local.get $2 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 2 i32.ne - br_if $folding-inner37 + br_if $folding-inner32 local.get $2 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 3 i32.ne - br_if $folding-inner38 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 15568 i32.store $0 offset=8 @@ -61049,19 +61132,19 @@ call $~lib/typedarray/Int16Array#__get i32.const 3 i32.ne - br_if $folding-inner39 + br_if $folding-inner34 local.get $2 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 2 i32.ne - br_if $folding-inner40 + br_if $folding-inner35 local.get $2 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 1 i32.ne - br_if $folding-inner41 + br_if $folding-inner36 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61115,11 +61198,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of190 - block $0of191 - block $outOfRange92 + block $1of196 + block $0of197 + block $outOfRange98 global.get $~argumentsLength - br_table $0of191 $1of190 $outOfRange92 + br_table $0of197 $1of196 $outOfRange98 end unreachable end @@ -61149,19 +61232,19 @@ call $~lib/typedarray/Uint16Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner31 local.get $2 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 2 i32.ne - br_if $folding-inner37 + br_if $folding-inner32 local.get $2 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 3 i32.ne - br_if $folding-inner38 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 15632 i32.store $0 offset=8 @@ -61178,19 +61261,19 @@ call $~lib/typedarray/Uint16Array#__get i32.const 3 i32.ne - br_if $folding-inner39 + br_if $folding-inner34 local.get $2 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 2 i32.ne - br_if $folding-inner40 + br_if $folding-inner35 local.get $2 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 1 i32.ne - br_if $folding-inner41 + br_if $folding-inner36 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61244,11 +61327,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of194 - block $0of195 - block $outOfRange96 + block $1of1100 + block $0of1101 + block $outOfRange102 global.get $~argumentsLength - br_table $0of195 $1of194 $outOfRange96 + br_table $0of1101 $1of1100 $outOfRange102 end unreachable end @@ -61278,19 +61361,19 @@ call $~lib/typedarray/Int32Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner31 local.get $2 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 2 i32.ne - br_if $folding-inner37 + br_if $folding-inner32 local.get $2 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 3 i32.ne - br_if $folding-inner38 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 15696 i32.store $0 offset=8 @@ -61307,19 +61390,19 @@ call $~lib/typedarray/Int32Array#__get i32.const 3 i32.ne - br_if $folding-inner39 + br_if $folding-inner34 local.get $2 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 2 i32.ne - br_if $folding-inner40 + br_if $folding-inner35 local.get $2 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 1 i32.ne - br_if $folding-inner41 + br_if $folding-inner36 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61373,11 +61456,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of198 - block $0of199 - block $outOfRange100 + block $1of1104 + block $0of1105 + block $outOfRange106 global.get $~argumentsLength - br_table $0of199 $1of198 $outOfRange100 + br_table $0of1105 $1of1104 $outOfRange106 end unreachable end @@ -61407,19 +61490,19 @@ call $~lib/typedarray/Uint32Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner31 local.get $2 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 2 i32.ne - br_if $folding-inner37 + br_if $folding-inner32 local.get $2 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 3 i32.ne - br_if $folding-inner38 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 15760 i32.store $0 offset=8 @@ -61436,19 +61519,19 @@ call $~lib/typedarray/Uint32Array#__get i32.const 3 i32.ne - br_if $folding-inner39 + br_if $folding-inner34 local.get $2 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 2 i32.ne - br_if $folding-inner40 + br_if $folding-inner35 local.get $2 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 1 i32.ne - br_if $folding-inner41 + br_if $folding-inner36 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61502,11 +61585,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1102 - block $0of1103 - block $outOfRange104 + block $1of1108 + block $0of1109 + block $outOfRange110 global.get $~argumentsLength - br_table $0of1103 $1of1102 $outOfRange104 + br_table $0of1109 $1of1108 $outOfRange110 end unreachable end @@ -61536,19 +61619,19 @@ call $~lib/typedarray/Int64Array#__get i64.const 1 i64.ne - br_if $folding-inner36 + br_if $folding-inner31 local.get $2 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 2 i64.ne - br_if $folding-inner37 + br_if $folding-inner32 local.get $2 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 3 i64.ne - br_if $folding-inner38 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 15824 i32.store $0 offset=8 @@ -61565,19 +61648,19 @@ call $~lib/typedarray/Int64Array#__get i64.const 3 i64.ne - br_if $folding-inner39 + br_if $folding-inner34 local.get $2 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 2 i64.ne - br_if $folding-inner40 + br_if $folding-inner35 local.get $2 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 1 i64.ne - br_if $folding-inner41 + br_if $folding-inner36 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61631,11 +61714,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1106 - block $0of1107 - block $outOfRange108 + block $1of1112 + block $0of1113 + block $outOfRange114 global.get $~argumentsLength - br_table $0of1107 $1of1106 $outOfRange108 + br_table $0of1113 $1of1112 $outOfRange114 end unreachable end @@ -61665,19 +61748,19 @@ call $~lib/typedarray/Uint64Array#__get i64.const 1 i64.ne - br_if $folding-inner36 + br_if $folding-inner31 local.get $2 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 2 i64.ne - br_if $folding-inner37 + br_if $folding-inner32 local.get $2 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 3 i64.ne - br_if $folding-inner38 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 15888 i32.store $0 offset=8 @@ -61694,19 +61777,19 @@ call $~lib/typedarray/Uint64Array#__get i64.const 3 i64.ne - br_if $folding-inner39 + br_if $folding-inner34 local.get $2 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 2 i64.ne - br_if $folding-inner40 + br_if $folding-inner35 local.get $2 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 1 i64.ne - br_if $folding-inner41 + br_if $folding-inner36 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61760,11 +61843,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1110 - block $0of1111 - block $outOfRange112 + block $1of1116 + block $0of1117 + block $outOfRange118 global.get $~argumentsLength - br_table $0of1111 $1of1110 $outOfRange112 + br_table $0of1117 $1of1116 $outOfRange118 end unreachable end @@ -61794,19 +61877,19 @@ call $~lib/typedarray/Float32Array#__get f32.const 1 f32.ne - br_if $folding-inner36 + br_if $folding-inner31 local.get $2 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 2 f32.ne - br_if $folding-inner37 + br_if $folding-inner32 local.get $2 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 3 f32.ne - br_if $folding-inner38 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 15952 i32.store $0 offset=8 @@ -61823,19 +61906,19 @@ call $~lib/typedarray/Float32Array#__get f32.const 3 f32.ne - br_if $folding-inner39 + br_if $folding-inner34 local.get $2 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 2 f32.ne - br_if $folding-inner40 + br_if $folding-inner35 local.get $2 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 1 f32.ne - br_if $folding-inner41 + br_if $folding-inner36 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61884,19 +61967,19 @@ call $~lib/typedarray/Float64Array#__get f64.const 1 f64.ne - br_if $folding-inner36 + br_if $folding-inner31 local.get $0 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 2 f64.ne - br_if $folding-inner37 + br_if $folding-inner32 local.get $0 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 3 f64.ne - br_if $folding-inner38 + br_if $folding-inner33 global.get $~lib/memory/__stack_pointer i32.const 15984 i32.store $0 offset=8 @@ -61913,19 +61996,19 @@ call $~lib/typedarray/Float64Array#__get f64.const 3 f64.ne - br_if $folding-inner39 + br_if $folding-inner34 local.get $0 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 2 f64.ne - br_if $folding-inner40 + br_if $folding-inner35 local.get $0 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 1 f64.ne - br_if $folding-inner41 + br_if $folding-inner36 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61936,12 +62019,12 @@ i32.const 0 i32.gt_s if - loop $while-continue|01069 + loop $while-continue|0941 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|01069 + br $while-continue|0941 end end end @@ -62071,99 +62154,99 @@ end i32.const 0 i32.const 1568 - i32.const 675 + i32.const 570 i32.const 5 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 676 - i32.const 5 + i32.const 575 + i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 672 - i32.const 5 + i32.const 576 + i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 673 - i32.const 5 + i32.const 577 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 1568 + i32.const 578 + i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 388 - i32.const 3 + i32.const 675 + i32.const 5 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 389 - i32.const 3 + i32.const 676 + i32.const 5 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 390 - i32.const 3 + i32.const 672 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 1568 + i32.const 673 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1568 - i32.const 570 + i32.const 1360 + i32.const 1632 + i32.const 1902 i32.const 5 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 575 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 576 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 577 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1568 - i32.const 578 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end diff --git a/tests/compiler/templateliteral.release.wat b/tests/compiler/templateliteral.release.wat index 53f49e799b..b40696e536 100644 --- a/tests/compiler/templateliteral.release.wat +++ b/tests/compiler/templateliteral.release.wat @@ -1,8 +1,8 @@ (module (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $none_=>_none (func_subtype func)) - (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $f64_=>_i32 (func_subtype (param f64) (result i32) func)) @@ -1733,6 +1733,222 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $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 5696 + i32.lt_s + if + i32.const 38496 + i32.const 38544 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + block $__inlined_func$~lib/util/string/joinStringArray + local.get $4 + i32.const 1 + i32.sub + local.tee $5 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1184 + local.set $1 + br $__inlined_func$~lib/util/string/joinStringArray + end + local.get $5 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.load $0 + local.tee $0 + i32.store $0 + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 1184 + local.get $0 + select + local.set $1 + br $__inlined_func$~lib/util/string/joinStringArray + end + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $6 + i32.store $0 offset=4 + local.get $6 + if + local.get $1 + local.get $6 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.add + local.set $1 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1180 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $4 + local.get $5 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=8 + loop $for-loop|1 + local.get $3 + local.get $5 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $6 + i32.store $0 offset=4 + local.get $6 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $6 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $6 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $2 + local.get $6 + i32.add + local.set $2 + end + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 1184 + local.get $4 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $0 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + memory.copy $0 $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + end + local.get $1 + ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) loop $while-continue|0 @@ -3190,11 +3406,7 @@ i32.const 1184 i32.store $0 offset=20 i32.const 1744 - i32.const 1740 - i32.load $0 - i32.const 2 - i32.shr_u - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3316,11 +3528,7 @@ i32.const 1184 i32.store $0 offset=12 i32.const 3680 - i32.const 3676 - i32.load $0 - i32.const 2 - i32.shr_u - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3442,11 +3650,7 @@ i32.const 1184 i32.store $0 offset=12 i32.const 4976 - i32.const 4972 - i32.load $0 - i32.const 2 - i32.shr_u - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3580,11 +3784,7 @@ i32.const 1184 i32.store $0 offset=20 i32.const 5440 - i32.const 5436 - i32.load $0 - i32.const 2 - i32.shr_u - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4093,11 +4293,7 @@ i32.const 1184 i32.store $0 offset=16 i32.const 5616 - i32.const 5612 - i32.load $0 - i32.const 2 - i32.shr_u - call $~lib/util/string/joinStringArray + call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer i32.const 20 @@ -4174,212 +4370,6 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) - (func $~lib/util/string/joinStringArray (type $i32_i32_=>_i32) (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 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 5696 - i32.lt_s - if - i32.const 38496 - i32.const 38544 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 1 - i32.sub - local.tee $4 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1184 - return - end - local.get $4 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.load $0 - local.tee $0 - i32.store $0 - local.get $1 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 1184 - local.get $0 - select - return - end - loop $for-loop|0 - local.get $1 - local.get $3 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $5 - i32.store $0 offset=4 - local.get $5 - if - local.get $2 - local.get $5 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.add - local.set $2 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1180 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $4 - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=8 - i32.const 0 - local.set $2 - loop $for-loop|1 - local.get $2 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $6 - i32.store $0 offset=4 - local.get $6 - if - local.get $5 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $6 - local.get $6 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $6 - i32.add - local.set $1 - end - local.get $3 - if - local.get $5 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 1184 - local.get $3 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $3 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 offset=4 - local.get $0 - if - local.get $5 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - memory.copy $0 $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) (func $templateliteral/Ref#constructor (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer From 75675b148171070e1e69db7b973746902323427b Mon Sep 17 00:00:00 2001 From: dcode Date: Wed, 30 Nov 2022 13:26:58 +0100 Subject: [PATCH 05/14] more --- src/compiler.ts | 30 ++++++++++++++---------------- src/flow.ts | 4 ++-- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 8fccc0cacd..83643399d3 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -2466,7 +2466,7 @@ export class Compiler extends DiagnosticEmitter { // Compile initializer if present. The initializer might introduce scoped // locals bound to the for statement, so create a new flow early. - let flow = outerFlow.fork(/* resetBreakContext */ true); + let flow = outerFlow.fork(); this.currentFlow = flow; let stmts = new Array(); let initializer = statement.initializer; @@ -2505,7 +2505,7 @@ export class Compiler extends DiagnosticEmitter { // From here on condition is either true or unknown // Compile the body assuming the condition turned out true - let bodyFlow = flow.forkThen(condExpr); + let bodyFlow = flow.forkThen(condExpr, /* newBreakContext */ true); let label = bodyFlow.pushBreakLabel(); let breakLabel = `for-break${label}`; bodyFlow.breakLabel = breakLabel; @@ -2521,26 +2521,28 @@ export class Compiler extends DiagnosticEmitter { bodyStmts.push(this.compileStatement(body)); } bodyFlow.popBreakLabel(); + bodyFlow.breakLabel = null; + bodyFlow.continueLabel = null; let possiblyFallsThrough = !bodyFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks); let possiblyContinues = bodyFlow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues); let possiblyBreaks = bodyFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks); - let ifStmts = new Array(); - ifStmts.push( - module.block(continueLabel, bodyStmts) - ); + if (possiblyContinues) { + bodyStmts[0] = module.block(continueLabel, bodyStmts); + bodyStmts.length = 1; + } - // Compile the incrementor if it may execute + // Compile the incrementor if it possibly executes let possiblyLoops = possiblyContinues || possiblyFallsThrough; if (possiblyLoops) { let incrementor = statement.incrementor; if (incrementor) { - ifStmts.push( + bodyStmts.push( this.compileExpression(incrementor, Type.void, Constraints.ConvImplicit | Constraints.WillDrop) ); } - ifStmts.push( + bodyStmts.push( module.br(loopLabel) ); @@ -2566,17 +2568,13 @@ export class Compiler extends DiagnosticEmitter { outerFlow.inherit(flow); this.currentFlow = outerFlow; let expr = module.if(condExprTrueish, - module.flatten(ifStmts) + module.flatten(bodyStmts) ); if (possiblyLoops) { - expr = module.loop(loopLabel, - expr - ); + expr = module.loop(loopLabel, expr); } if (possiblyBreaks) { - expr = module.block(breakLabel, [ - expr - ]); + expr = module.block(breakLabel, [ expr ]); } stmts.push(expr); if (outerFlow.is(FlowFlags.Terminates)) { diff --git a/src/flow.ts b/src/flow.ts index 7649fb4e42..ad150b6536 100644 --- a/src/flow.ts +++ b/src/flow.ts @@ -583,7 +583,7 @@ export class Flow { } } - /** Pushes a new break label to the stack, for example when entering a loop that one can `break` from. */ + /** Pushes a new label to the stack, for example when entering a loop that one can `break` from. */ pushBreakLabel(): string { let targetFunction = this.targetFunction; let id = targetFunction.nextBreakId++; @@ -595,7 +595,7 @@ export class Flow { return label; } - /** Pops the most recent break label from the stack. */ + /** Pops the most recent label from the stack. */ popBreakLabel(): void { let targetFunction = this.targetFunction; let stack = assert(targetFunction.breakStack); From 0a5ce751cece50f1fbebc54c23e7cefb285b6b3e Mon Sep 17 00:00:00 2001 From: dcode Date: Wed, 30 Nov 2022 13:54:46 +0100 Subject: [PATCH 06/14] comment --- src/compiler.ts | 15 ++++++--------- src/diagnosticMessages.json | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 83643399d3..ad9f7703ea 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -1170,25 +1170,22 @@ export class Compiler extends DiagnosticEmitter { let type = global.type; - // Enforce either an initializer or a definitive assignment on globals, just - // like for class fields. TypeScript is unsound in this regard in that it, - // just as us, doesn't do full program analysis, but simply assumes that - // outer variables are initialized: + // Enforce either an initializer, a definitive assignment or a nullable type + // to guarantee soundness when globals are accessed. In the absence of an + // initializer, a definitive assignment guarantees a runtime check, whereas + // a nullable type guarantees that obtaining default `null` is OK. Avoids: // // let foo: string; // function bar() { - // foo.length; // no error even though undefined + // foo.length; // no error in TS even though undefined // } // bar(); - // - // We can't let that happen in AOT obviously, except if there is a trivial - // default value (say `0` or `null`), so limit to non-nullable references: if ( !initializerNode && !global.is(CommonFlags.DefinitelyAssigned) && type.isReference && !type.isNullableReference ) { this.error( - DiagnosticCode.Initializer_or_definitive_assignment_expected, + DiagnosticCode.Initializer_definitive_assignment_or_nullable_type_expected, global.identifierNode.range ); } diff --git a/src/diagnosticMessages.json b/src/diagnosticMessages.json index 6de6162931..cd84488f4e 100644 --- a/src/diagnosticMessages.json +++ b/src/diagnosticMessages.json @@ -49,7 +49,7 @@ "Only variables, functions and enums become WebAssembly module exports.": 235, "Literal '{0}' does not fit into 'i64' or 'u64' types.": 236, "Index signature accessors in type '{0}' differ in types.": 237, - "Initializer or definitive assignment expected.": 238, + "Initializer, definitive assignment or nullable type expected.": 238, "Importing the table disables some indirect call optimizations.": 901, "Exporting the table disables some indirect call optimizations.": 902, From 5c5781b21995523cffcaa2e97930a812fb3cbaee Mon Sep 17 00:00:00 2001 From: dcode Date: Fri, 2 Dec 2022 14:39:07 +0100 Subject: [PATCH 07/14] more, cleanup --- src/compiler.ts | 52 +++++++++++++------------------------ src/diagnosticMessages.json | 1 + src/module.ts | 26 ------------------- src/parser.ts | 19 ++++++++++---- 4 files changed, 33 insertions(+), 65 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index ad9f7703ea..bfaf460831 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -42,7 +42,6 @@ import { getBlockChildCount, getBlockChildAt, getBlockName, - needsExplicitUnreachable, getLocalSetValue, getGlobalGetName, isGlobalMutable, @@ -2219,7 +2218,6 @@ export class Compiler extends DiagnosticEmitter { stmts = new Array(numStatements); stmts.length = 0; } - let module = this.module; let flow = this.currentFlow; for (let i = 0; i < numStatements; ++i) { let stmt = this.compileStatement(statements[i], isBody && i == numStatements - 1); @@ -2234,10 +2232,7 @@ export class Compiler extends DiagnosticEmitter { default: stmts.push(stmt); case ExpressionId.Nop: } - if (flow.isAny(FlowFlags.Terminates | FlowFlags.Breaks)) { - if (needsExplicitUnreachable(stmt)) stmts.push(module.unreachable()); - break; - } + if (flow.isAny(FlowFlags.Terminates | FlowFlags.Breaks)) break; } return stmts; } @@ -2329,7 +2324,7 @@ export class Compiler extends DiagnosticEmitter { // (?block $continue // (body) // ) - // (br_if (condition) $loop) + // (br_if $loop (condition)) // ) // ) @@ -2452,11 +2447,13 @@ export class Compiler extends DiagnosticEmitter { // (?block $break │ (initializer) // (?loop $loop ┌◄┤ (condition) shortcut if false ◄┐ // (if (condition) ├►┐ bodyFlow │ - // (?block $continue │ │ (body) │ - // (body) │ │ if loops: (incrementor) ─────┘ - // ) │ │ recompile body? - // (incrementor) ├◄┘ - // (br $loop) ┌◄┘ + // (then │ │ (body) │ + // (?block $continue │ │ if loops: (incrementor) ─────┘ + // (body) │ │ recompile body? + // ) ├◄┘ + // (incrementor) ┌◄┘ + // (br $loop) + // ) // ) // ) // ) @@ -2598,18 +2595,11 @@ export class Compiler extends DiagnosticEmitter { let ifTrue = statement.ifTrue; let ifFalse = statement.ifFalse; - // (if └►┐ flow - // (condition) ┌┴───────────┐ condition? - // (block │ │ - // (ifTrue) └►┐ thenFlow │ - // ┌─┘ │ - // ) ├─╢ │ - // (block │ ┌◄┤ present? - // (ifFalse) │ │ └►┐ elseFlow - // │ │ ┌─┘ - // ) │ │ ├─╢ - // ) └┬─────────┴─┘ - // ... ┌◄┘ + // (if + // (condition) + // (ifTrue) + // (ifFalse) + // ) // Precompute the condition (always executes) let condExpr = this.compileExpression(statement.condition, Type.bool); @@ -2651,10 +2641,6 @@ export class Compiler extends DiagnosticEmitter { } else { thenStmts.push(this.compileStatement(ifTrue)); } - let thenTerminates = thenFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks); - if (thenTerminates) { - thenStmts.push(module.unreachable()); - } this.currentFlow = flow; // Compile ifFalse assuming the condition turned out false, if present @@ -2667,10 +2653,6 @@ export class Compiler extends DiagnosticEmitter { } else { elseStmts.push(this.compileStatement(ifFalse)); } - let elseTerminates = elseFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks); - if (elseTerminates) { - elseStmts.push(module.unreachable()); - } flow.inheritAlternatives(thenFlow, elseFlow); this.currentFlow = flow; return module.if(condExprTrueish, @@ -3125,8 +3107,10 @@ export class Compiler extends DiagnosticEmitter { // (block $break // (loop $continue // (if (condition) - // (body) - // (br $continue) + // (then + // (body) + // (br $continue) + // ) // ) // ) diff --git a/src/diagnosticMessages.json b/src/diagnosticMessages.json index cd84488f4e..cd219a395a 100644 --- a/src/diagnosticMessages.json +++ b/src/diagnosticMessages.json @@ -107,6 +107,7 @@ "Declaration expected.": 1146, "'const' declarations must be initialized.": 1155, "Unterminated regular expression literal.": 1161, + "Declarations with initializers cannot also have definite assignment assertions.": 1263, "Interface declaration cannot have 'implements' clause.": 1176, "Binary digit expected.": 1177, "Octal digit expected.": 1178, diff --git a/src/module.ts b/src/module.ts index eb8644e4c2..20c05e8130 100644 --- a/src/module.ts +++ b/src/module.ts @@ -3617,32 +3617,6 @@ export class BinaryModule { ) {} } -/** Tests if an expression needs an explicit 'unreachable' when it is the terminating statement. */ -export function needsExplicitUnreachable(expr: ExpressionRef): bool { - // not applicable if pushing a value to the stack - if (binaryen._BinaryenExpressionGetType(expr) != TypeRef.Unreachable) { - return false; - } - - switch (binaryen._BinaryenExpressionGetId(expr)) { - case ExpressionId.Unreachable: - case ExpressionId.Return: return false; - case ExpressionId.Break: { - return binaryen._BinaryenBreakGetCondition(expr) != 0; - } - case ExpressionId.Block: { - if (!binaryen._BinaryenBlockGetName(expr)) { // can't break out of it - let numChildren = binaryen._BinaryenBlockGetNumChildren(expr); // last child needs unreachable - return ( - numChildren > 0 && - needsExplicitUnreachable(binaryen._BinaryenBlockGetChildAt(expr, numChildren - 1)) - ); - } - } - } - return true; -} - // TypeBuilder const DEBUG_TYPEBUILDER = false; diff --git a/src/parser.ts b/src/parser.ts index 38e8be6269..24f7a6093a 100644 --- a/src/parser.ts +++ b/src/parser.ts @@ -985,6 +985,12 @@ export class Parser extends DiagnosticEmitter { } initializer = this.parseExpression(tn, Precedence.Comma + 1); if (!initializer) return null; + if (flags & CommonFlags.DefinitelyAssigned) { + this.error( + DiagnosticCode.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions, + initializer.range + ); + } } else if (!isFor) { if (flags & CommonFlags.Const) { if (!(flags & CommonFlags.Ambient)) { @@ -1001,7 +1007,7 @@ export class Parser extends DiagnosticEmitter { } } let range = Range.join(identifier.range, tn.range()); - if (initializer && (flags & CommonFlags.DefinitelyAssigned) != 0) { + if ((flags & CommonFlags.DefinitelyAssigned) != 0 && (initializer || (flags & CommonFlags.Ambient) != 0)) { this.error( DiagnosticCode.A_definite_assignment_assertion_is_not_permitted_in_this_context, range @@ -2383,12 +2389,15 @@ export class Parser extends DiagnosticEmitter { } initializer = this.parseExpression(tn); if (!initializer) return null; + if (flags & CommonFlags.DefinitelyAssigned) { + this.error( + DiagnosticCode.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions, + name.range + ); + } } let range = tn.range(startPos, tn.pos); - if ( - (flags & CommonFlags.DefinitelyAssigned) != 0 && - (isInterface || initializer || (flags & CommonFlags.Static) != 0) - ) { + if ((flags & CommonFlags.DefinitelyAssigned) != 0 && (isInterface || (flags & CommonFlags.Ambient) != 0)) { this.error( DiagnosticCode.A_definite_assignment_assertion_is_not_permitted_in_this_context, range From f500e6feeb05842622c07d960ca5cdf1ac9a892f Mon Sep 17 00:00:00 2001 From: dcode Date: Fri, 2 Dec 2022 14:45:05 +0100 Subject: [PATCH 08/14] comment --- src/compiler.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index bfaf460831..6ec39dbb11 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -2595,12 +2595,16 @@ export class Compiler extends DiagnosticEmitter { let ifTrue = statement.ifTrue; let ifFalse = statement.ifFalse; - // (if - // (condition) - // (ifTrue) - // (ifFalse) + // (if (condition) + // (then (ifTrue)) + // (?else (ifFalse)) // ) + // Cases of interest: + // * If the condition is always true or false, the other branch is eliminated + // * If both then and else terminate, the overall flow does as well + // * Without an else, when then terminates, follow-up flow acts like an else + // Precompute the condition (always executes) let condExpr = this.compileExpression(statement.condition, Type.bool); let condExprTrueish = this.makeIsTrueish( From fb3c85f39c8b0106cdfb00e1182c138666f72282 Mon Sep 17 00:00:00 2001 From: dcode Date: Fri, 2 Dec 2022 14:46:08 +0100 Subject: [PATCH 09/14] more --- src/compiler.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 6ec39dbb11..29b82d01dd 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -2657,7 +2657,7 @@ export class Compiler extends DiagnosticEmitter { } else { elseStmts.push(this.compileStatement(ifFalse)); } - flow.inheritAlternatives(thenFlow, elseFlow); + flow.inheritAlternatives(thenFlow, elseFlow); // terminates if both do this.currentFlow = flow; return module.if(condExprTrueish, module.flatten(thenStmts), @@ -2665,7 +2665,7 @@ export class Compiler extends DiagnosticEmitter { ); } else { if (thenFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks)) { - // Only getting past if condition was false + // Only getting past if condition was false (acts like else) flow.inherit(elseFlow); flow.mergeSideEffects(thenFlow); } else { From c6704853ce64951415b04fc93d4bfdb4b59fa282 Mon Sep 17 00:00:00 2001 From: dcode Date: Fri, 2 Dec 2022 15:02:45 +0100 Subject: [PATCH 10/14] update parser test --- src/parser.ts | 2 +- tests/parser/definite-assignment-assertion.ts | 19 +++++++++--- ...efinite-assignment-assertion.ts.fixture.ts | 31 +++++++++++++++---- 3 files changed, 41 insertions(+), 11 deletions(-) diff --git a/src/parser.ts b/src/parser.ts index 24f7a6093a..166c3d4132 100644 --- a/src/parser.ts +++ b/src/parser.ts @@ -1007,7 +1007,7 @@ export class Parser extends DiagnosticEmitter { } } let range = Range.join(identifier.range, tn.range()); - if ((flags & CommonFlags.DefinitelyAssigned) != 0 && (initializer || (flags & CommonFlags.Ambient) != 0)) { + if ((flags & CommonFlags.DefinitelyAssigned) != 0 && (flags & CommonFlags.Ambient) != 0) { this.error( DiagnosticCode.A_definite_assignment_assertion_is_not_permitted_in_this_context, range diff --git a/tests/parser/definite-assignment-assertion.ts b/tests/parser/definite-assignment-assertion.ts index 05b3cd4f62..3b22d50510 100644 --- a/tests/parser/definite-assignment-assertion.ts +++ b/tests/parser/definite-assignment-assertion.ts @@ -1,9 +1,20 @@ +let x!: i32; +let x!: i32 = 0; // invalid +function f(): void { + let x!: i32; + let x!: i32 = 0; // invalid +} class C { x!: i32; x!: i32 = 0; // invalid - static x!: i32; // invlaid + static x!: i32; + static x!: i32 = 0; // invalid } -function f(): void { - let x!: i32; - let x!: i32 = 0; // invalid +interface I { + x!: i32; // not permitted + x!: i32 = 0; // invalid, not permitted +} +declare class C2 { + x!: i32; // not permitted + x!: i32 = 0; // invalid, not permitted, initializer generally not allowed } diff --git a/tests/parser/definite-assignment-assertion.ts.fixture.ts b/tests/parser/definite-assignment-assertion.ts.fixture.ts index 0d4b0e0405..5767c70868 100644 --- a/tests/parser/definite-assignment-assertion.ts.fixture.ts +++ b/tests/parser/definite-assignment-assertion.ts.fixture.ts @@ -1,12 +1,31 @@ +let x!: i32; +let x!: i32 = 0; +function f(): void { + let x!: i32; + let x!: i32 = 0; +} class C { x!: i32; x!: i32 = 0; static x!: i32; + static x!: i32 = 0; } -function f(): void { - let x!: i32; - let x!: i32 = 0; +interface I { + x!: i32; + x!: i32 = 0; +} +declare class C2 { + x!: i32; + x!: i32 = 0; } -// ERROR 1255: "A definite assignment assertion '!' is not permitted in this context." in definite-assignment-assertion.ts(3,3+11) -// ERROR 1255: "A definite assignment assertion '!' is not permitted in this context." in definite-assignment-assertion.ts(4,3+14) -// ERROR 1255: "A definite assignment assertion '!' is not permitted in this context." in definite-assignment-assertion.ts(8,7+11) +// ERROR 1263: "Declarations with initializers cannot also have definite assignment assertions." in definite-assignment-assertion.ts(2,15+1) +// ERROR 1263: "Declarations with initializers cannot also have definite assignment assertions." in definite-assignment-assertion.ts(5,17+1) +// ERROR 1263: "Declarations with initializers cannot also have definite assignment assertions." in definite-assignment-assertion.ts(9,3+1) +// ERROR 1263: "Declarations with initializers cannot also have definite assignment assertions." in definite-assignment-assertion.ts(11,10+1) +// ERROR 1255: "A definite assignment assertion '!' is not permitted in this context." in definite-assignment-assertion.ts(14,3+7) +// ERROR 1263: "Declarations with initializers cannot also have definite assignment assertions." in definite-assignment-assertion.ts(15,3+1) +// ERROR 1255: "A definite assignment assertion '!' is not permitted in this context." in definite-assignment-assertion.ts(15,3+11) +// ERROR 1255: "A definite assignment assertion '!' is not permitted in this context." in definite-assignment-assertion.ts(18,3+7) +// ERROR 1039: "Initializers are not allowed in ambient contexts." in definite-assignment-assertion.ts(19,11+1) +// ERROR 1263: "Declarations with initializers cannot also have definite assignment assertions." in definite-assignment-assertion.ts(19,3+1) +// ERROR 1255: "A definite assignment assertion '!' is not permitted in this context." in definite-assignment-assertion.ts(19,3+11) From f91a84031fad0ee96261fb9f0b0d4198e009ad87 Mon Sep 17 00:00:00 2001 From: dcode Date: Fri, 2 Dec 2022 15:39:32 +0100 Subject: [PATCH 11/14] use branch --- src/compiler.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 29b82d01dd..63bb7271fe 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -2842,9 +2842,9 @@ export class Compiler extends DiagnosticEmitter { if (breakingFlowAlternatives) outerFlow.inherit(breakingFlowAlternatives); else outerFlow.set(FlowFlags.Terminates); - // Otherwise either none or any breaking flow can get past + // Otherwise either none or any breaking flow can get past conditionally } else if (breakingFlowAlternatives) { - outerFlow.inheritAlternatives(outerFlow, breakingFlowAlternatives); + outerFlow.mergeBranch(breakingFlowAlternatives); } this.currentFlow = outerFlow; From 88c79d8332a269ee14ff33cc4990bb4365e436ee Mon Sep 17 00:00:00 2001 From: dcode Date: Sat, 3 Dec 2022 15:14:24 +0100 Subject: [PATCH 12/14] remove unnecessary early optimization --- src/compiler.ts | 56 +- tests/compiler/NonNullable.debug.wat | 4 + tests/compiler/abi.debug.wat | 4 + tests/compiler/assert-nonnull.debug.wat | 14 + tests/compiler/bigint-integration.debug.wat | 1 + tests/compiler/binary.debug.wat | 972 +- tests/compiler/bindings/esm.debug.wat | 410 +- tests/compiler/bindings/esm.release.wat | 903 +- .../bindings/noExportRuntime.debug.wat | 385 +- .../bindings/noExportRuntime.release.wat | 9 +- tests/compiler/bindings/raw.debug.wat | 410 +- tests/compiler/bindings/raw.release.wat | 903 +- tests/compiler/builtins.debug.wat | 13 + tests/compiler/call-inferred.debug.wat | 4 + tests/compiler/call-optional.debug.wat | 1 + tests/compiler/call-super.debug.wat | 378 +- tests/compiler/call-super.release.wat | 266 +- tests/compiler/cast.debug.wat | 81 + tests/compiler/class-implements.debug.wat | 385 +- tests/compiler/class-implements.release.wat | 266 +- .../compiler/class-overloading-cast.debug.wat | 388 +- .../class-overloading-cast.release.wat | 266 +- tests/compiler/class-overloading.debug.wat | 388 +- tests/compiler/class-overloading.release.wat | 264 +- .../compiler/class-static-function.debug.wat | 2 + tests/compiler/class.debug.wat | 383 +- tests/compiler/const-folding.debug.wat | 1 + tests/compiler/constructor.debug.wat | 379 +- tests/compiler/constructor.release.wat | 266 +- tests/compiler/do.debug.wat | 379 +- tests/compiler/do.release.wat | 266 +- tests/compiler/duplicate-fields.debug.wat | 378 +- tests/compiler/empty-exportruntime.debug.wat | 379 +- tests/compiler/empty-new.debug.wat | 378 +- tests/compiler/empty-new.release.wat | 266 +- tests/compiler/enum.debug.wat | 1 + tests/compiler/export.debug.wat | 3 + tests/compiler/exports.debug.wat | 3 + .../compiler/exportstar-rereexport.debug.wat | 382 +- .../exportstar-rereexport.release.wat | 266 +- tests/compiler/exportstar.debug.wat | 3 + .../compiler/extends-baseaggregate.debug.wat | 380 +- .../extends-baseaggregate.release.wat | 8 +- tests/compiler/extends-recursive.debug.wat | 378 +- tests/compiler/extends-recursive.release.wat | 264 +- .../features/reference-types.debug.wat | 1 + tests/compiler/field-initialization.debug.wat | 382 +- tests/compiler/field.debug.wat | 380 +- tests/compiler/field.release.wat | 9 +- tests/compiler/for.debug.wat | 379 +- tests/compiler/for.release.wat | 294 +- tests/compiler/function-call.debug.wat | 383 +- tests/compiler/function-call.release.wat | 264 +- tests/compiler/function-expression.debug.wat | 392 +- .../function-inline-regressions.debug.wat | 3 + tests/compiler/function-types.debug.wat | 10 + tests/compiler/getter-call.debug.wat | 380 +- tests/compiler/getter-call.release.wat | 266 +- tests/compiler/getter-setter.debug.wat | 1 + tests/compiler/heap.debug.wat | 402 +- tests/compiler/if.debug.wat | 1 + tests/compiler/import.debug.wat | 3 + tests/compiler/infer-array.debug.wat | 388 +- tests/compiler/infer-array.release.wat | 8 +- tests/compiler/infer-generic.debug.wat | 392 +- tests/compiler/infer-generic.release.wat | 266 +- tests/compiler/infer-type.debug.wat | 4 + tests/compiler/inlining.debug.wat | 521 +- tests/compiler/inlining.release.wat | 266 +- tests/compiler/instanceof.debug.wat | 378 +- tests/compiler/instanceof.release.wat | 266 +- tests/compiler/issues/1095.debug.wat | 378 +- tests/compiler/issues/1225.debug.wat | 380 +- tests/compiler/issues/1225.release.wat | 266 +- tests/compiler/issues/1699.debug.wat | 381 +- tests/compiler/issues/1699.release.wat | 82 +- tests/compiler/issues/1714.debug.wat | 6 + tests/compiler/issues/2166.debug.wat | 381 +- tests/compiler/issues/2166.release.wat | 266 +- tests/compiler/issues/2322/index.debug.wat | 378 +- tests/compiler/issues/2322/index.release.wat | 266 +- tests/compiler/logical.debug.wat | 382 +- tests/compiler/logical.release.wat | 266 +- tests/compiler/managed-cast.debug.wat | 378 +- tests/compiler/managed-cast.release.wat | 266 +- tests/compiler/many-locals.debug.wat | 2 + tests/compiler/memcpy.debug.wat | 1 + tests/compiler/memmove.debug.wat | 1 + tests/compiler/memory.debug.wat | 6 + tests/compiler/memset.debug.wat | 1 + tests/compiler/named-export-default.debug.wat | 1 + tests/compiler/named-import-default.debug.wat | 2 + tests/compiler/namespace.debug.wat | 2 + tests/compiler/new.debug.wat | 381 +- tests/compiler/new.release.wat | 266 +- tests/compiler/object-literal.debug.wat | 382 +- tests/compiler/object-literal.release.wat | 71 +- .../optional-typeparameters.debug.wat | 382 +- .../optional-typeparameters.release.wat | 356 +- tests/compiler/possibly-null.debug.wat | 1 + tests/compiler/recursive.debug.wat | 1 + tests/compiler/reexport.debug.wat | 383 +- tests/compiler/reexport.release.wat | 266 +- tests/compiler/rereexport.debug.wat | 382 +- tests/compiler/rereexport.release.wat | 266 +- tests/compiler/resolve-access.debug.wat | 405 +- tests/compiler/resolve-binary.debug.wat | 2019 +-- tests/compiler/resolve-binary.release.wat | 266 +- .../compiler/resolve-elementaccess.debug.wat | 1338 +- .../resolve-function-expression.debug.wat | 400 +- .../resolve-function-expression.release.wat | 346 +- tests/compiler/resolve-localortype.debug.wat | 2 + tests/compiler/resolve-new.debug.wat | 378 +- tests/compiler/resolve-new.release.wat | 266 +- .../compiler/resolve-propertyaccess.debug.wat | 401 +- .../resolve-propertyaccess.release.wat | 266 +- tests/compiler/resolve-ternary.debug.wat | 1338 +- tests/compiler/resolve-ternary.release.wat | 266 +- tests/compiler/resolve-unary.debug.wat | 414 +- tests/compiler/resolve-unary.release.wat | 266 +- tests/compiler/return-unreachable.debug.wat | 378 +- tests/compiler/return.debug.wat | 2 + tests/compiler/rt/finalize.debug.wat | 378 +- tests/compiler/rt/finalize.release.wat | 266 +- tests/compiler/rt/flags.debug.wat | 1 + .../rt/runtime-incremental-export.debug.wat | 379 +- .../rt/runtime-minimal-export.debug.wat | 376 +- .../rt/runtime-minimal-export.release.wat | 47 +- .../compiler/rt/runtime-stub-export.debug.wat | 32 +- tests/compiler/simd.debug.wat | 395 +- tests/compiler/static-this.debug.wat | 1 + tests/compiler/std/array-access.debug.wat | 14 + tests/compiler/std/array-literal.debug.wat | 386 +- tests/compiler/std/array-literal.release.wat | 8 +- tests/compiler/std/array.debug.wat | 2120 +-- tests/compiler/std/array.release.wat | 4377 +++--- tests/compiler/std/arraybuffer.debug.wat | 386 +- tests/compiler/std/arraybuffer.release.wat | 190 +- tests/compiler/std/dataview.debug.wat | 391 +- tests/compiler/std/date.debug.wat | 2659 ++-- tests/compiler/std/date.release.wat | 236 +- tests/compiler/std/hash.debug.wat | 486 +- tests/compiler/std/map.debug.wat | 2337 +-- tests/compiler/std/map.release.wat | 4252 +++--- tests/compiler/std/math.debug.wat | 5646 ++++---- tests/compiler/std/mod.debug.wat | 6 + tests/compiler/std/new.debug.wat | 378 +- tests/compiler/std/new.release.wat | 266 +- tests/compiler/std/object.debug.wat | 38 +- .../std/operator-overloading.debug.wat | 567 +- tests/compiler/std/pointer.debug.wat | 340 +- tests/compiler/std/set.debug.wat | 1970 ++- tests/compiler/std/set.release.wat | 1076 +- tests/compiler/std/static-array.debug.wat | 387 +- tests/compiler/std/staticarray.debug.wat | 434 +- tests/compiler/std/staticarray.release.wat | 1130 +- .../compiler/std/string-casemapping.debug.wat | 530 +- .../std/string-casemapping.release.wat | 600 +- tests/compiler/std/string-encoding.debug.wat | 393 +- .../compiler/std/string-encoding.release.wat | 264 +- tests/compiler/std/string-nonnull.debug.wat | 5 + tests/compiler/std/string.debug.wat | 2116 +-- tests/compiler/std/string.release.wat | 31 +- tests/compiler/std/symbol.debug.wat | 702 +- tests/compiler/std/symbol.release.wat | 95 +- tests/compiler/std/typedarray.debug.wat | 11287 ++++++++------- tests/compiler/std/typedarray.release.wat | 11768 ++++++++-------- tests/compiler/std/uri.debug.wat | 543 +- tests/compiler/std/uri.release.wat | 266 +- tests/compiler/super-inline.debug.wat | 389 +- tests/compiler/super-inline.release.wat | 266 +- tests/compiler/switch.debug.wat | 6 + tests/compiler/tablebase.debug.wat | 1 + tests/compiler/templateliteral.debug.wat | 1342 +- tests/compiler/templateliteral.release.wat | 103 +- tests/compiler/ternary.debug.wat | 1 + tests/compiler/throw.debug.wat | 205 +- tests/compiler/throw.release.wat | 282 +- tests/compiler/typealias.debug.wat | 1 + tests/compiler/typeof.debug.wat | 381 +- tests/compiler/typeof.release.wat | 266 +- tests/compiler/void.debug.wat | 1 + tests/compiler/while.debug.wat | 379 +- tests/compiler/while.release.wat | 266 +- 184 files changed, 53305 insertions(+), 44694 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 63bb7271fe..206311939c 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -1659,7 +1659,7 @@ export class Compiler extends DiagnosticEmitter { // compile statements if (bodyNode.kind == NodeKind.Block) { - stmts = this.compileStatements((bodyNode).statements, true, stmts); + stmts = this.compileStatements((bodyNode).statements, stmts); } else { // must be an expression statement if not a block assert(bodyNode.kind == NodeKind.Expression); @@ -2109,9 +2109,7 @@ export class Compiler extends DiagnosticEmitter { /** Compiles a statement. */ compileStatement( /** Statement to compile. */ - statement: Statement, - /** Whether this is the last statement of the body, if known. */ - isLastInBody: bool = false + statement: Statement ): ExpressionRef { let module = this.module; let stmt: ExpressionRef; @@ -2153,7 +2151,7 @@ export class Compiler extends DiagnosticEmitter { break; } case NodeKind.Return: { - stmt = this.compileReturnStatement(statement, isLastInBody); + stmt = this.compileReturnStatement(statement); break; } case NodeKind.Switch: { @@ -2208,9 +2206,7 @@ export class Compiler extends DiagnosticEmitter { compileStatements( /** Statements to compile. */ statements: Statement[], - /** Whether this is an immediate body statement. */ - isBody: bool = false, - /** Statements to append to that is also returned. Created if omitted. */ + /** Statements to append to. Also returned, created if omitted. */ stmts: ExpressionRef[] | null = null ): ExpressionRef[] { let numStatements = statements.length; @@ -2220,7 +2216,7 @@ export class Compiler extends DiagnosticEmitter { } let flow = this.currentFlow; for (let i = 0; i < numStatements; ++i) { - let stmt = this.compileStatement(statements[i], isBody && i == numStatements - 1); + let stmt = this.compileStatement(statements[i]); switch (getExpressionId(stmt)) { case ExpressionId.Block: { if (!getBlockName(stmt)) { @@ -2345,7 +2341,7 @@ export class Compiler extends DiagnosticEmitter { let bodyStmts = new Array(); let body = statement.body; if (body.kind == NodeKind.Block) { - this.compileStatements((body).statements, false, bodyStmts); + this.compileStatements((body).statements, bodyStmts); } else { bodyStmts.push(this.compileStatement(body)); } @@ -2510,7 +2506,7 @@ export class Compiler extends DiagnosticEmitter { let bodyStmts = new Array(); let body = statement.body; if (body.kind == NodeKind.Block) { - this.compileStatements((body).statements, false, bodyStmts); + this.compileStatements((body).statements, bodyStmts); } else { bodyStmts.push(this.compileStatement(body)); } @@ -2641,7 +2637,7 @@ export class Compiler extends DiagnosticEmitter { let thenFlow = flow.forkThen(condExpr); this.currentFlow = thenFlow; if (ifTrue.kind == NodeKind.Block) { - this.compileStatements((ifTrue).statements, false, thenStmts); + this.compileStatements((ifTrue).statements, thenStmts); } else { thenStmts.push(this.compileStatement(ifTrue)); } @@ -2653,7 +2649,7 @@ export class Compiler extends DiagnosticEmitter { this.currentFlow = elseFlow; let elseStmts = new Array(); if (ifFalse.kind == NodeKind.Block) { - this.compileStatements((ifFalse).statements, false, elseStmts); + this.compileStatements((ifFalse).statements, elseStmts); } else { elseStmts.push(this.compileStatement(ifFalse)); } @@ -2680,8 +2676,7 @@ export class Compiler extends DiagnosticEmitter { } private compileReturnStatement( - statement: ReturnStatement, - isLastInBody: bool + statement: ReturnStatement ): ExpressionRef { let module = this.module; let expr: ExpressionRef = 0; @@ -2713,27 +2708,20 @@ export class Compiler extends DiagnosticEmitter { // Handle inline return if (flow.isInline) { - return !expr - ? isLastInBody - ? module.nop() - : module.br(assert(flow.inlineReturnLabel)) - : isLastInBody - ? expr - : this.currentType == Type.void - ? module.block(null, [ expr, module.br(assert(flow.inlineReturnLabel)) ]) - : module.br(assert(flow.inlineReturnLabel), 0, expr); + let inlineReturnLabel = assert(flow.inlineReturnLabel); + return expr + ? this.currentType == Type.void + ? module.block(null, [ expr, module.br(inlineReturnLabel) ]) + : module.br(inlineReturnLabel, 0, expr) + : module.br(inlineReturnLabel); } // Otherwise emit a normal return - return !expr - ? isLastInBody - ? module.nop() - : module.return() - : isLastInBody - ? expr - : this.currentType == Type.void - ? module.block(null, [ expr, module.return() ]) - : module.return(expr); + return expr + ? this.currentType == Type.void + ? module.block(null, [ expr, module.return() ]) + : module.return(expr) + : module.return(); } private compileSwitchStatement( @@ -3144,7 +3132,7 @@ export class Compiler extends DiagnosticEmitter { let bodyStmts = new Array(); let body = statement.body; if (body.kind == NodeKind.Block) { - this.compileStatements((body).statements, false, bodyStmts); + this.compileStatements((body).statements, bodyStmts); } else { bodyStmts.push(this.compileStatement(body)); } diff --git a/tests/compiler/NonNullable.debug.wat b/tests/compiler/NonNullable.debug.wat index 66845e0ec6..d6dc6935f6 100644 --- a/tests/compiler/NonNullable.debug.wat +++ b/tests/compiler/NonNullable.debug.wat @@ -36,6 +36,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -139,6 +140,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -181,12 +183,14 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/string/String.__ne (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) local.get $left local.get $right call $~lib/string/String.__eq i32.eqz + return ) (func $NonNullable/assertNonNull<~lib/string/String> (type $i32_=>_none) (param $t i32) i32.const 0 diff --git a/tests/compiler/abi.debug.wat b/tests/compiler/abi.debug.wat index e70ed73bb4..5b5f53c0ee 100644 --- a/tests/compiler/abi.debug.wat +++ b/tests/compiler/abi.debug.wat @@ -19,6 +19,7 @@ (start $~start) (func $abi/internal (type $none_=>_i32) (result i32) i32.const 128 + return ) (func $start:abi (type $none_=>_none) (local $x i32) @@ -175,13 +176,16 @@ (func $abi/exported (type $none_=>_i32) (result i32) i32.const 128 i32.extend8_s + return ) (func $abi/exportedExported (type $none_=>_i32) (result i32) call $abi/exported + return ) (func $abi/exportedInternal (type $none_=>_i32) (result i32) call $abi/internal i32.extend8_s + return ) (func $~start (type $none_=>_none) call $start:abi diff --git a/tests/compiler/assert-nonnull.debug.wat b/tests/compiler/assert-nonnull.debug.wat index 608c21475c..141667b2a1 100644 --- a/tests/compiler/assert-nonnull.debug.wat +++ b/tests/compiler/assert-nonnull.debug.wat @@ -47,6 +47,7 @@ call $~lib/builtins/abort unreachable end + return ) (func $assert-nonnull/Foo#get:bar (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -86,6 +87,7 @@ end i32.load $0 call_indirect $0 (type $none_=>_i32) + return ) (func $assert-nonnull/Foo#get:baz (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -139,6 +141,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + return ) (func $assert-nonnull/testArr (type $i32_=>_i32) (param $foo i32) (result i32) (local $1 i32) @@ -176,6 +179,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + return ) (func $assert-nonnull/testAll (type $i32_=>_i32) (param $foo i32) (result i32) (local $1 i32) @@ -252,6 +256,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $assert-nonnull/testAll2 (type $i32_=>_i32) (param $foo i32) (result i32) (local $1 i32) @@ -328,6 +333,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $assert-nonnull/testProp (type $i32_=>_i32) (param $foo i32) (result i32) (local $1 i32) @@ -362,6 +368,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -418,6 +425,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -464,6 +472,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $assert-nonnull/testElem (type $i32_=>_i32) (param $foo i32) (result i32) (local $1 i32) @@ -499,6 +508,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + return ) (func $assert-nonnull/testFn2 (type $i32_=>_i32) (param $fn i32) (result i32) (local $1 i32) @@ -538,6 +548,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $assert-nonnull/testRet (type $i32_=>_i32) (param $fn i32) (result i32) (local $1 i32) @@ -587,6 +598,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $assert-nonnull/testObjFn (type $i32_=>_i32) (param $foo i32) (result i32) (local $1 i32) @@ -625,6 +637,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + return ) (func $assert-nonnull/testObjRet (type $i32_=>_i32) (param $foo i32) (result i32) (local $1 i32) @@ -678,6 +691,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $export:assert-nonnull/testVar (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) diff --git a/tests/compiler/bigint-integration.debug.wat b/tests/compiler/bigint-integration.debug.wat index d3a369eb8d..cd703989cd 100644 --- a/tests/compiler/bigint-integration.debug.wat +++ b/tests/compiler/bigint-integration.debug.wat @@ -46,6 +46,7 @@ ) (func $bigint-integration/getInternalValue (type $none_=>_i64) (result i64) global.get $bigint-integration/internalValue + return ) (func $~start (type $none_=>_none) global.get $~started diff --git a/tests/compiler/binary.debug.wat b/tests/compiler/binary.debug.wat index b7d6c13c88..bd7c7e1b46 100644 --- a/tests/compiler/binary.debug.wat +++ b/tests/compiler/binary.debug.wat @@ -238,6 +238,7 @@ end end local.get $out + return ) (func $~lib/math/NativeMath.pow (type $f64_f64_=>_f64) (param $x f64) (param $y f64) (result f64) (local $x|2 f64) @@ -422,17 +423,20 @@ i64.ge_u end if - local.get $iy - local.set $u - local.get $u - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740992 - i64.const 1 - i64.sub - i64.ge_u + block $~lib/util/math/zeroinfnan|inlined.0 (result i32) + local.get $iy + local.set $u + local.get $u + i64.const 1 + i64.shl + i64.const 1 + i64.sub + i64.const -9007199254740992 + i64.const 1 + i64.sub + i64.ge_u + br $~lib/util/math/zeroinfnan|inlined.0 + end if local.get $iy i64.const 1 @@ -500,17 +504,20 @@ f64.mul br $~lib/util/math/pow_lut|inlined.0 end - local.get $ix - local.set $u|10 - local.get $u|10 - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740992 - i64.const 1 - i64.sub - i64.ge_u + block $~lib/util/math/zeroinfnan|inlined.1 (result i32) + local.get $ix + local.set $u|10 + local.get $u|10 + i64.const 1 + i64.shl + i64.const 1 + i64.sub + i64.const -9007199254740992 + i64.const 1 + i64.sub + i64.ge_u + br $~lib/util/math/zeroinfnan|inlined.1 + end if local.get $x|2 local.get $x|2 @@ -575,6 +582,7 @@ br $~lib/util/math/checkint|inlined.0 end i32.const 2 + br $~lib/util/math/checkint|inlined.0 end i32.const 1 i32.eq @@ -656,6 +664,7 @@ br $~lib/util/math/checkint|inlined.1 end i32.const 2 + br $~lib/util/math/checkint|inlined.1 end local.set $yint local.get $yint @@ -748,196 +757,199 @@ local.set $ix end end - local.get $ix - local.set $ix|17 - local.get $ix|17 - i64.const 4604531861337669632 - i64.sub - local.set $tmp - local.get $tmp - i64.const 52 - i32.const 7 - i64.extend_i32_s - i64.sub - i64.shr_u - i32.const 127 - i64.extend_i32_s - i64.and - i32.wrap_i64 - local.set $i - local.get $tmp - i64.const 52 - i64.shr_s - local.set $k - local.get $ix|17 - local.get $tmp - i64.const 4095 - i64.const 52 - i64.shl - i64.and - i64.sub - local.set $iz - local.get $iz - f64.reinterpret_i64 - local.set $z - local.get $k - f64.convert_i64_s - local.set $kd - i32.const 8 - local.get $i - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load $0 - local.set $invc - i32.const 8 - local.get $i - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load $0 offset=16 - local.set $logc - i32.const 8 - local.get $i - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load $0 offset=24 - local.set $logctail - local.get $iz - i64.const 2147483648 - i64.add - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $zhi - local.get $z - local.get $zhi - f64.sub - local.set $zlo - local.get $zhi - local.get $invc - f64.mul - f64.const 1 - f64.sub - local.set $rhi - local.get $zlo - local.get $invc - f64.mul - local.set $rlo - local.get $rhi - local.get $rlo - f64.add - local.set $r - local.get $kd - f64.const 0.6931471805598903 - f64.mul - local.get $logc - f64.add - local.set $t1 - local.get $t1 - local.get $r - f64.add - local.set $t2 - local.get $kd - f64.const 5.497923018708371e-14 - f64.mul - local.get $logctail - f64.add - local.set $lo1 - local.get $t1 - local.get $t2 - f64.sub - local.get $r - f64.add - local.set $lo2 - f64.const -0.5 - local.get $r - f64.mul - local.set $ar - local.get $r - local.get $ar - f64.mul - local.set $ar2 - local.get $r - local.get $ar2 - f64.mul - local.set $ar3 - f64.const -0.5 - local.get $rhi - f64.mul - local.set $arhi - local.get $rhi - local.get $arhi - f64.mul - local.set $arhi2 - local.get $t2 - local.get $arhi2 - f64.add - local.set $hi - local.get $rlo - local.get $ar - local.get $arhi - f64.add - f64.mul - local.set $lo3 - local.get $t2 - local.get $hi - f64.sub - local.get $arhi2 - f64.add - local.set $lo4 - local.get $ar3 - f64.const -0.6666666666666679 - local.get $r - f64.const 0.5000000000000007 - f64.mul - f64.add - local.get $ar2 - f64.const 0.7999999995323976 - local.get $r - f64.const -0.6666666663487739 - f64.mul - f64.add - local.get $ar2 - f64.const -1.142909628459501 - local.get $r - f64.const 1.0000415263675542 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $p - local.get $lo1 - local.get $lo2 - f64.add - local.get $lo3 - f64.add - local.get $lo4 - f64.add - local.get $p - f64.add - local.set $lo - local.get $hi - local.get $lo - f64.add - local.set $y|46 - local.get $hi - local.get $y|46 - f64.sub - local.get $lo - f64.add - global.set $~lib/util/math/log_tail - local.get $y|46 + block $~lib/util/math/log_inline|inlined.0 (result f64) + local.get $ix + local.set $ix|17 + local.get $ix|17 + i64.const 4604531861337669632 + i64.sub + local.set $tmp + local.get $tmp + i64.const 52 + i32.const 7 + i64.extend_i32_s + i64.sub + i64.shr_u + i32.const 127 + i64.extend_i32_s + i64.and + i32.wrap_i64 + local.set $i + local.get $tmp + i64.const 52 + i64.shr_s + local.set $k + local.get $ix|17 + local.get $tmp + i64.const 4095 + i64.const 52 + i64.shl + i64.and + i64.sub + local.set $iz + local.get $iz + f64.reinterpret_i64 + local.set $z + local.get $k + f64.convert_i64_s + local.set $kd + i32.const 8 + local.get $i + i32.const 2 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load $0 + local.set $invc + i32.const 8 + local.get $i + i32.const 2 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load $0 offset=16 + local.set $logc + i32.const 8 + local.get $i + i32.const 2 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load $0 offset=24 + local.set $logctail + local.get $iz + i64.const 2147483648 + i64.add + i64.const -4294967296 + i64.and + f64.reinterpret_i64 + local.set $zhi + local.get $z + local.get $zhi + f64.sub + local.set $zlo + local.get $zhi + local.get $invc + f64.mul + f64.const 1 + f64.sub + local.set $rhi + local.get $zlo + local.get $invc + f64.mul + local.set $rlo + local.get $rhi + local.get $rlo + f64.add + local.set $r + local.get $kd + f64.const 0.6931471805598903 + f64.mul + local.get $logc + f64.add + local.set $t1 + local.get $t1 + local.get $r + f64.add + local.set $t2 + local.get $kd + f64.const 5.497923018708371e-14 + f64.mul + local.get $logctail + f64.add + local.set $lo1 + local.get $t1 + local.get $t2 + f64.sub + local.get $r + f64.add + local.set $lo2 + f64.const -0.5 + local.get $r + f64.mul + local.set $ar + local.get $r + local.get $ar + f64.mul + local.set $ar2 + local.get $r + local.get $ar2 + f64.mul + local.set $ar3 + f64.const -0.5 + local.get $rhi + f64.mul + local.set $arhi + local.get $rhi + local.get $arhi + f64.mul + local.set $arhi2 + local.get $t2 + local.get $arhi2 + f64.add + local.set $hi + local.get $rlo + local.get $ar + local.get $arhi + f64.add + f64.mul + local.set $lo3 + local.get $t2 + local.get $hi + f64.sub + local.get $arhi2 + f64.add + local.set $lo4 + local.get $ar3 + f64.const -0.6666666666666679 + local.get $r + f64.const 0.5000000000000007 + f64.mul + f64.add + local.get $ar2 + f64.const 0.7999999995323976 + local.get $r + f64.const -0.6666666663487739 + f64.mul + f64.add + local.get $ar2 + f64.const -1.142909628459501 + local.get $r + f64.const 1.0000415263675542 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $p + local.get $lo1 + local.get $lo2 + f64.add + local.get $lo3 + f64.add + local.get $lo4 + f64.add + local.get $p + f64.add + local.set $lo + local.get $hi + local.get $lo + f64.add + local.set $y|46 + local.get $hi + local.get $y|46 + f64.sub + local.get $lo + f64.add + global.set $~lib/util/math/log_tail + local.get $y|46 + br $~lib/util/math/log_inline|inlined.0 + end local.set $hi|47 global.get $~lib/util/math/log_tail local.set $lo|48 @@ -1017,35 +1029,47 @@ i64.const 0 i64.lt_s if (result f64) - local.get $sign_bias|57 - local.set $sign - local.get $sign - local.set $sign|72 - i64.const 1152921504606846976 - f64.reinterpret_i64 - local.set $y|73 - local.get $y|73 - f64.neg - local.get $y|73 - local.get $sign|72 - select - local.get $y|73 - f64.mul + block $~lib/util/math/uflow|inlined.0 (result f64) + local.get $sign_bias|57 + local.set $sign + block $~lib/util/math/xflow|inlined.0 (result f64) + local.get $sign + local.set $sign|72 + i64.const 1152921504606846976 + f64.reinterpret_i64 + local.set $y|73 + local.get $y|73 + f64.neg + local.get $y|73 + local.get $sign|72 + select + local.get $y|73 + f64.mul + br $~lib/util/math/xflow|inlined.0 + end + br $~lib/util/math/uflow|inlined.0 + end else - local.get $sign_bias|57 - local.set $sign|74 - local.get $sign|74 - local.set $sign|75 - i64.const 8070450532247928832 - f64.reinterpret_i64 - local.set $y|76 - local.get $y|76 - f64.neg - local.get $y|76 - local.get $sign|75 - select - local.get $y|76 - f64.mul + block $~lib/util/math/oflow|inlined.0 (result f64) + local.get $sign_bias|57 + local.set $sign|74 + block $~lib/util/math/xflow|inlined.1 (result f64) + local.get $sign|74 + local.set $sign|75 + i64.const 8070450532247928832 + f64.reinterpret_i64 + local.set $y|76 + local.get $y|76 + f64.neg + local.get $y|76 + local.get $sign|75 + select + local.get $y|76 + f64.mul + br $~lib/util/math/xflow|inlined.1 + end + br $~lib/util/math/oflow|inlined.0 + end end br $~lib/util/math/exp_inline|inlined.0 end @@ -1242,6 +1266,7 @@ local.get $y|81 f64.const 2.2250738585072014e-308 f64.mul + br $~lib/util/math/specialcase|inlined.0 end br $~lib/util/math/exp_inline|inlined.0 end @@ -1253,7 +1278,9 @@ local.get $tmp|69 f64.mul f64.add + br $~lib/util/math/exp_inline|inlined.0 end + br $~lib/util/math/pow_lut|inlined.0 end return ) @@ -1504,6 +1531,7 @@ local.get $sm i32.or f32.reinterpret_i32 + return ) (func $~lib/math/NativeMathf.pow (type $f32_f32_=>_f32) (param $x f32) (param $y f32) (result f32) (local $x|2 f32) @@ -1630,19 +1658,22 @@ i32.const 8388608 i32.sub i32.ge_u - local.get $iy - local.set $ux - local.get $ux - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.const 2139095040 - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.ge_u + block $~lib/util/math/zeroinfnanf|inlined.0 (result i32) + local.get $iy + local.set $ux + local.get $ux + i32.const 1 + i32.shl + i32.const 1 + i32.sub + i32.const 2139095040 + i32.const 1 + i32.shl + i32.const 1 + i32.sub + i32.ge_u + br $~lib/util/math/zeroinfnanf|inlined.0 + end i32.const 0 i32.ne local.tee $ny @@ -1722,19 +1753,22 @@ f32.mul br $~lib/util/math/powf_lut|inlined.0 end - local.get $ix - local.set $ux|9 - local.get $ux|9 - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.const 2139095040 - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.ge_u + block $~lib/util/math/zeroinfnanf|inlined.1 (result i32) + local.get $ix + local.set $ux|9 + local.get $ux|9 + i32.const 1 + i32.shl + i32.const 1 + i32.sub + i32.const 2139095040 + i32.const 1 + i32.shl + i32.const 1 + i32.sub + i32.ge_u + br $~lib/util/math/zeroinfnanf|inlined.1 + end if local.get $x|2 local.get $x|2 @@ -1794,6 +1828,7 @@ br $~lib/util/math/checkintf|inlined.0 end i32.const 2 + br $~lib/util/math/checkintf|inlined.0 end i32.const 1 i32.eq @@ -1871,6 +1906,7 @@ br $~lib/util/math/checkintf|inlined.1 end i32.const 2 + br $~lib/util/math/checkintf|inlined.1 end local.set $yint local.get $yint @@ -1919,102 +1955,105 @@ local.set $ix end end - local.get $ix - local.set $ux|16 - local.get $ux|16 - i32.const 1060306944 - i32.sub - local.set $tmp - local.get $tmp - i32.const 23 - i32.const 4 - i32.sub - i32.shr_u - i32.const 15 - i32.and - local.set $i - local.get $tmp - i32.const -8388608 - i32.and - local.set $top - local.get $ux|16 - local.get $top - i32.sub - local.set $uz - local.get $top - i32.const 23 - i32.shr_s - local.set $k - i32.const 6152 - local.get $i - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load $0 - local.set $invc - i32.const 6152 - local.get $i - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load $0 offset=8 - local.set $logc - local.get $uz - f32.reinterpret_i32 - f64.promote_f32 - local.set $z - local.get $z - local.get $invc - f64.mul - f64.const 1 - f64.sub - local.set $r - local.get $logc - local.get $k - f64.convert_i32_s - f64.add - local.set $y0 - f64.const 0.288457581109214 - local.get $r - f64.mul - f64.const -0.36092606229713164 - f64.add - local.set $y|27 - f64.const 0.480898481472577 - local.get $r - f64.mul - f64.const -0.7213474675006291 - f64.add - local.set $p - f64.const 1.4426950408774342 - local.get $r - f64.mul - local.get $y0 - f64.add - local.set $q - local.get $r - local.get $r - f64.mul - local.set $r - local.get $q - local.get $p - local.get $r - f64.mul - f64.add - local.set $q - local.get $y|27 - local.get $r - local.get $r - f64.mul - f64.mul - local.get $q - f64.add - local.set $y|27 - local.get $y|27 + block $~lib/util/math/log2f_inline|inlined.0 (result f64) + local.get $ix + local.set $ux|16 + local.get $ux|16 + i32.const 1060306944 + i32.sub + local.set $tmp + local.get $tmp + i32.const 23 + i32.const 4 + i32.sub + i32.shr_u + i32.const 15 + i32.and + local.set $i + local.get $tmp + i32.const -8388608 + i32.and + local.set $top + local.get $ux|16 + local.get $top + i32.sub + local.set $uz + local.get $top + i32.const 23 + i32.shr_s + local.set $k + i32.const 6152 + local.get $i + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load $0 + local.set $invc + i32.const 6152 + local.get $i + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load $0 offset=8 + local.set $logc + local.get $uz + f32.reinterpret_i32 + f64.promote_f32 + local.set $z + local.get $z + local.get $invc + f64.mul + f64.const 1 + f64.sub + local.set $r + local.get $logc + local.get $k + f64.convert_i32_s + f64.add + local.set $y0 + f64.const 0.288457581109214 + local.get $r + f64.mul + f64.const -0.36092606229713164 + f64.add + local.set $y|27 + f64.const 0.480898481472577 + local.get $r + f64.mul + f64.const -0.7213474675006291 + f64.add + local.set $p + f64.const 1.4426950408774342 + local.get $r + f64.mul + local.get $y0 + f64.add + local.set $q + local.get $r + local.get $r + f64.mul + local.set $r + local.get $q + local.get $p + local.get $r + f64.mul + f64.add + local.set $q + local.get $y|27 + local.get $r + local.get $r + f64.mul + f64.mul + local.get $q + f64.add + local.set $y|27 + local.get $y|27 + br $~lib/util/math/log2f_inline|inlined.0 + end local.set $logx local.get $y|3 f64.promote_f32 @@ -2034,111 +2073,127 @@ f64.const 127.99999995700433 f64.gt if - local.get $signBias - local.set $sign - local.get $sign - local.set $sign|33 - i32.const 1879048192 - f32.reinterpret_i32 - local.set $y|34 - local.get $y|34 - f32.neg - local.get $y|34 - local.get $sign|33 - select - local.get $y|34 - f32.mul + block $~lib/util/math/oflowf|inlined.0 (result f32) + local.get $signBias + local.set $sign + block $~lib/util/math/xflowf|inlined.0 (result f32) + local.get $sign + local.set $sign|33 + i32.const 1879048192 + f32.reinterpret_i32 + local.set $y|34 + local.get $y|34 + f32.neg + local.get $y|34 + local.get $sign|33 + select + local.get $y|34 + f32.mul + br $~lib/util/math/xflowf|inlined.0 + end + br $~lib/util/math/oflowf|inlined.0 + end br $~lib/util/math/powf_lut|inlined.0 end local.get $ylogx f64.const -150 f64.le if - local.get $signBias - local.set $sign|35 - local.get $sign|35 - local.set $sign|36 - i32.const 268435456 - f32.reinterpret_i32 - local.set $y|37 - local.get $y|37 - f32.neg - local.get $y|37 - local.get $sign|36 - select - local.get $y|37 - f32.mul + block $~lib/util/math/uflowf|inlined.0 (result f32) + local.get $signBias + local.set $sign|35 + block $~lib/util/math/xflowf|inlined.1 (result f32) + local.get $sign|35 + local.set $sign|36 + i32.const 268435456 + f32.reinterpret_i32 + local.set $y|37 + local.get $y|37 + f32.neg + local.get $y|37 + local.get $sign|36 + select + local.get $y|37 + f32.mul + br $~lib/util/math/xflowf|inlined.1 + end + br $~lib/util/math/uflowf|inlined.0 + end br $~lib/util/math/powf_lut|inlined.0 end end - local.get $ylogx - local.set $xd - local.get $signBias - local.set $signBias|39 - local.get $xd - f64.const 211106232532992 - f64.add - local.set $kd - local.get $kd - i64.reinterpret_f64 - local.set $ki - local.get $xd - local.get $kd - f64.const 211106232532992 - f64.sub - f64.sub - local.set $r|42 - i32.const 6408 - local.get $ki - i32.wrap_i64 - i32.const 31 - i32.and - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $t - local.get $t - local.get $ki - local.get $signBias|39 - i64.extend_i32_u - i64.add - i64.const 52 - i32.const 5 - i64.extend_i32_s - i64.sub - i64.shl - i64.add - local.set $t - local.get $t - f64.reinterpret_i64 - local.set $s - f64.const 0.05550361559341535 - local.get $r|42 - f64.mul - f64.const 0.2402284522445722 - f64.add - local.set $z|44 - f64.const 0.6931471806916203 - local.get $r|42 - f64.mul - f64.const 1 - f64.add - local.set $y|45 - local.get $y|45 - local.get $z|44 - local.get $r|42 - local.get $r|42 - f64.mul - f64.mul - f64.add - local.set $y|45 - local.get $y|45 - local.get $s - f64.mul - local.set $y|45 - local.get $y|45 - f32.demote_f64 + block $~lib/util/math/exp2f_inline|inlined.0 (result f32) + local.get $ylogx + local.set $xd + local.get $signBias + local.set $signBias|39 + local.get $xd + f64.const 211106232532992 + f64.add + local.set $kd + local.get $kd + i64.reinterpret_f64 + local.set $ki + local.get $xd + local.get $kd + f64.const 211106232532992 + f64.sub + f64.sub + local.set $r|42 + i32.const 6408 + local.get $ki + i32.wrap_i64 + i32.const 31 + i32.and + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $t + local.get $t + local.get $ki + local.get $signBias|39 + i64.extend_i32_u + i64.add + i64.const 52 + i32.const 5 + i64.extend_i32_s + i64.sub + i64.shl + i64.add + local.set $t + local.get $t + f64.reinterpret_i64 + local.set $s + f64.const 0.05550361559341535 + local.get $r|42 + f64.mul + f64.const 0.2402284522445722 + f64.add + local.set $z|44 + f64.const 0.6931471806916203 + local.get $r|42 + f64.mul + f64.const 1 + f64.add + local.set $y|45 + local.get $y|45 + local.get $z|44 + local.get $r|42 + local.get $r|42 + f64.mul + f64.mul + f64.add + local.set $y|45 + local.get $y|45 + local.get $s + f64.mul + local.set $y|45 + local.get $y|45 + f32.demote_f64 + br $~lib/util/math/exp2f_inline|inlined.0 + end + br $~lib/util/math/powf_lut|inlined.0 end return ) @@ -2395,6 +2450,7 @@ i64.shl i64.or f64.reinterpret_i64 + return ) (func $start:binary (type $none_=>_none) global.get $binary/i diff --git a/tests/compiler/bindings/esm.debug.wat b/tests/compiler/bindings/esm.debug.wat index 53fd0bb94a..46e2282f13 100644 --- a/tests/compiler/bindings/esm.debug.wat +++ b/tests/compiler/bindings/esm.debug.wat @@ -126,17 +126,21 @@ local.get $a local.get $b i32.add + return ) (func $bindings/esm/plainFunction64 (type $i64_i64_=>_i64) (param $a i64) (param $b i64) (result i64) local.get $a local.get $b i64.add + return ) (func $bindings/esm/getMaxUnsigned32 (type $none_=>_i32) (result i32) global.get $~lib/builtins/u32.MAX_VALUE + return ) (func $bindings/esm/getMaxUnsigned64 (type $none_=>_i64) (result i64) global.get $~lib/builtins/u64.MAX_VALUE + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -147,6 +151,7 @@ i32.const 20 i32.sub call $~lib/rt/common/OBJECT#get:rtSize + return ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this @@ -166,6 +171,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -178,12 +184,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -341,6 +349,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -360,6 +369,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -477,6 +487,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -652,22 +663,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -692,16 +706,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -797,18 +814,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -832,18 +852,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -853,12 +876,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1006,22 +1032,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1066,16 +1095,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1130,10 +1162,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1249,6 +1284,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1431,6 +1467,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1665,6 +1702,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1743,6 +1781,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1758,6 +1797,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1848,16 +1888,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1890,16 +1933,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1913,46 +1959,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1989,10 +2042,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2112,30 +2168,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2206,6 +2268,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2218,6 +2281,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2280,6 +2344,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/string/String#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2288,21 +2353,25 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) local.get $left local.get $right call $~lib/string/String#concat + return ) (func $bindings/esm/stringFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b call $~lib/string/String.__concat + return ) (func $bindings/esm/stringFunctionOptional (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b call $~lib/string/String.__concat + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2400,12 +2469,14 @@ call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 i32.shr_u + return ) (func $~lib/typedarray/Float32Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 i32.shr_u + return ) (func $~lib/arraybuffer/ArrayBufferView#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2433,6 +2504,7 @@ i32.shl i32.add i32.load16_s $0 + return ) (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) local.get $index @@ -2480,6 +2552,7 @@ i32.shl i32.add f32.load $0 + return ) (func $~lib/staticarray/StaticArray#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2488,6 +2561,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 2 i32.shr_u + return ) (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -2513,6 +2587,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/staticarray/StaticArray#__uset (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $this @@ -2545,9 +2620,11 @@ ) (func $bindings/esm/staticarrayU16 (type $i32_=>_i32) (param $a i32) (result i32) local.get $a + return ) (func $bindings/esm/staticarrayI64 (type $i32_=>_i32) (param $a i32) (result i32) local.get $a + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -2580,6 +2657,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2610,6 +2688,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2663,6 +2742,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) (local $oldCapacity i32) @@ -2910,12 +2990,15 @@ (func $bindings/esm/newInternref (type $none_=>_i32) (result i32) i32.const 0 call $bindings/esm/NonPlainObject#constructor + return ) (func $bindings/esm/internrefFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a + return ) (func $bindings/esm/functionFunction (type $i32_=>_i32) (param $fn i32) (result i32) local.get $fn + return ) (func $~lib/rt/itcms/__pin (type $i32_=>_i32) (param $ptr i32) (result i32) (local $obj i32) @@ -2945,6 +3028,7 @@ call $~lib/rt/itcms/Object#linkTo end local.get $ptr + return ) (func $~lib/rt/itcms/__unpin (type $i32_=>_none) (param $ptr i32) (local $obj i32) @@ -3440,6 +3524,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $bindings/esm/bufferFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $aByteLength i32) @@ -3485,6 +3570,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 + return ) (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) (local $thisSize i32) @@ -3550,6 +3636,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 + return ) (func $bindings/esm/stringFunctionOptional@varargs (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $2 i32) @@ -3771,6 +3858,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 + return ) (func $~lib/staticarray/StaticArray#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $outSize i32) @@ -3818,6 +3906,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $bindings/esm/staticarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $c i32) @@ -3894,6 +3983,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -4060,6 +4150,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 + return ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -4207,6 +4298,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $bindings/esm/NonPlainObject#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) diff --git a/tests/compiler/bindings/esm.release.wat b/tests/compiler/bindings/esm.release.wat index 5fc5a0f499..e4bce4e2b2 100644 --- a/tests/compiler/bindings/esm.release.wat +++ b/tests/compiler/bindings/esm.release.wat @@ -2104,12 +2104,12 @@ (local $1 i32) (local $2 i32) (local $3 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $bindings/esm/NonPlainObject - block $~lib/array/Array<~lib/string/String> - block $bindings/esm/PlainObject + block $folding-inner0 + block $invalid + block $bindings/esm/NonPlainObject + block $~lib/array/Array<~lib/string/String> + block $bindings/esm/PlainObject + block $~lib/array/Array block $~lib/staticarray/StaticArray block $~lib/staticarray/StaticArray block $~lib/staticarray/StaticArray @@ -2121,7 +2121,7 @@ i32.const 8 i32.sub i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/function/Function<%28%29=>void> $folding-inner0 $folding-inner0 $folding-inner0 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $folding-inner1 $bindings/esm/PlainObject $folding-inner0 $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/function/Function<%28%29=>void> $folding-inner0 $folding-inner0 $folding-inner0 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $bindings/esm/PlainObject $folding-inner0 $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid end return end @@ -2145,21 +2145,7 @@ return end local.get $0 - i32.load $0 offset=56 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=60 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=64 + i32.load $0 local.tee $0 if local.get $0 @@ -2168,47 +2154,68 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load $0 offset=56 local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 + i32.load $0 offset=60 + local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $0 + i32.load $0 offset=64 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + local.get $0 + i32.load $0 offset=4 + local.tee $1 + local.get $0 + i32.load $0 offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.lt_u + if local.get $1 - local.get $3 - i32.lt_u + i32.load $0 + local.tee $3 if - local.get $1 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 end - br $folding-inner1 + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end return end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + return end - return + unreachable end local.get $0 i32.load $0 @@ -2307,6 +2314,239 @@ i32.const 1648 global.set $~lib/rt/itcms/fromSpace ) + (func $bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (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 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i32.const 0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + local.get $1 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.add + local.set $3 + local.get $6 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $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 $2 + i32.store $0 + end + local.get $2 + i32.const 0 + i32.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + 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 $3 + i32.const 3 + i32.shl + local.tee $4 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=4 + local.get $2 + local.tee $3 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $3 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $3 + local.get $7 + i32.store $0 offset=4 + local.get $3 + local.get $4 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + local.get $3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + local.get $3 + i32.store $0 + i32.const 0 + local.set $2 + loop $for-loop|0 + local.get $2 + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + i32.lt_s + if + local.get $2 + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + i32.ge_u + if + i32.const 1552 + i32.const 1792 + i32.const 452 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $2 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 1 + i32.shl + i32.add + i64.load16_s $0 + call $~lib/typedarray/Uint64Array#__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 + local.get $2 + local.get $1 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.lt_s + if + local.get $2 + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + i32.add + local.set $4 + local.get $2 + local.get $1 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 1552 + i32.const 1792 + i32.const 1304 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $4 + local.get $1 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + f32.load $0 + i64.trunc_sat_f32_u + call $~lib/typedarray/Uint64Array#__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.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $export:bindings/esm/bufferFunction (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -2518,259 +2758,37 @@ ) (func $export:bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 0 - i32.store $0 - local.get $4 - block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) - local.get $0 - local.tee $2 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.get $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.add - local.set $5 - local.get $4 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - 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 $0 - end - local.get $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - i32.store $0 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 $6 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=4 - local.get $0 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $0 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $5 - i32.store $0 offset=4 - local.get $0 - local.get $6 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - br $__inlined_func$~lib/typedarray/Uint64Array#constructor - end - br $folding-inner1 - end - local.tee $0 - i32.store $0 - loop $for-loop|0 - local.get $3 - local.get $2 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.lt_s - if - local.get $3 - local.get $2 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 1552 - i32.const 1792 - i32.const 452 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $3 - local.get $2 - i32.load $0 offset=4 - local.get $3 - i32.const 1 - i32.shl - i32.add - i64.load16_s $0 - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.lt_s - if - local.get $3 - local.get $2 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.add - local.set $4 - local.get $3 - local.get $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1552 - i32.const 1792 - i32.const 1304 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $4 - local.get $1 - i32.load $0 offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - f32.load $0 - i64.trunc_sat_f32_u - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + if + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - i32.const 34944 - i32.const 34992 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $bindings/esm/typedarrayFunction + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $export:bindings/esm/staticarrayFunction (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -2969,6 +2987,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2979,174 +2998,162 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 local.get $0 i32.store $0 - local.get $2 + local.get $3 local.get $1 i32.store $0 offset=4 - block $__inlined_func$bindings/esm/arrayFunction (result i32) - local.get $0 - local.set $3 + local.get $3 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.get $1 + i32.load $0 offset=12 + i32.add + local.set $6 + local.get $3 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 16 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 + local.get $4 + i32.const 0 + i32.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + local.get $4 + i32.const 0 + i32.store $0 offset=12 + local.get $6 + 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 $6 + local.get $6 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $7 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=4 + local.get $4 + local.get $5 + i32.store $0 + local.get $5 + if + local.get $4 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $4 + local.get $5 + i32.store $0 offset=4 + local.get $4 + local.get $7 + i32.store $0 offset=8 + local.get $4 + local.get $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + local.get $4 + i32.store $0 + loop $for-loop|0 local.get $2 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $6 - i32.const 0 - i32.store $0 - local.get $3 - i32.load $0 offset=12 - local.get $1 - i32.load $0 offset=12 - i32.add - local.set $5 - local.get $6 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 16 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - i32.store $0 + local.get $0 + i32.load $0 offset=12 + i32.lt_s + if + local.get $4 local.get $2 - i32.const 0 - i32.store $0 offset=4 + local.get $0 local.get $2 - i32.const 0 - i32.store $0 offset=8 + call $~lib/array/Array#__get + call $~lib/array/Array#__set local.get $2 - i32.const 0 - i32.store $0 offset=12 - local.get $5 - 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 $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 $4 - i32.store $0 offset=4 - local.get $2 - local.get $4 - i32.store $0 - local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + loop $for-loop|1 + local.get $2 + local.get $1 + i32.load $0 offset=12 + i32.lt_s + if local.get $4 - i32.store $0 offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $5 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.load $0 offset=12 i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $1 local.get $2 - i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|0 - local.get $0 - local.get $3 - i32.load $0 offset=12 - i32.lt_s - if - local.get $2 - local.get $0 - local.get $3 - local.get $0 - call $~lib/array/Array#__get - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $1 - i32.load $0 offset=12 - i32.lt_s - if - local.get $2 - local.get $0 - local.get $3 - i32.load $0 offset=12 - i32.add - local.get $1 - local.get $0 - call $~lib/array/Array#__get - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/array/Array#__get + call $~lib/array/Array#__set local.get $2 - br $__inlined_func$bindings/esm/arrayFunction + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 end - br $folding-inner1 end - local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $4 return end i32.const 34944 diff --git a/tests/compiler/bindings/noExportRuntime.debug.wat b/tests/compiler/bindings/noExportRuntime.debug.wat index 0e9db84af2..d84e74bc7e 100644 --- a/tests/compiler/bindings/noExportRuntime.debug.wat +++ b/tests/compiler/bindings/noExportRuntime.debug.wat @@ -88,6 +88,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -100,12 +101,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -263,6 +266,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -282,6 +286,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -399,6 +404,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -574,22 +580,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -614,16 +623,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -719,18 +731,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -754,18 +769,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -775,12 +793,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -928,22 +949,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -988,16 +1012,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1052,10 +1079,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1171,6 +1201,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1353,6 +1384,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1587,6 +1619,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1665,6 +1698,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1680,6 +1714,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1770,16 +1805,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1812,16 +1850,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1835,46 +1876,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1911,10 +1959,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2034,30 +2085,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2128,6 +2185,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2140,6 +2198,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2202,6 +2261,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2323,21 +2383,27 @@ ) (func $bindings/noExportRuntime/takesReturnsBasic (type $i32_=>_i32) (param $a i32) (result i32) global.get $bindings/noExportRuntime/isBasic + return ) (func $bindings/noExportRuntime/returnsString (type $none_=>_i32) (result i32) global.get $bindings/noExportRuntime/isString + return ) (func $bindings/noExportRuntime/returnsBuffer (type $none_=>_i32) (result i32) global.get $bindings/noExportRuntime/isBuffer + return ) (func $bindings/noExportRuntime/returnsTypedArray (type $none_=>_i32) (result i32) global.get $bindings/noExportRuntime/isTypedArray + return ) (func $bindings/noExportRuntime/returnsArrayOfBasic (type $none_=>_i32) (result i32) global.get $bindings/noExportRuntime/isArrayOfBasic + return ) (func $bindings/noExportRuntime/returnsArrayOfArray (type $none_=>_i32) (result i32) global.get $bindings/noExportRuntime/isArrayOfArray + return ) (func $bindings/noExportRuntime/takesNonPlainObject (type $i32_=>_none) (param $obj i32) nop @@ -2603,6 +2669,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) (local $buffer i32) diff --git a/tests/compiler/bindings/noExportRuntime.release.wat b/tests/compiler/bindings/noExportRuntime.release.wat index f5c0980778..b05126b71f 100644 --- a/tests/compiler/bindings/noExportRuntime.release.wat +++ b/tests/compiler/bindings/noExportRuntime.release.wat @@ -1678,7 +1678,14 @@ br $while-continue|0 end end - br $folding-inner0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return end return end diff --git a/tests/compiler/bindings/raw.debug.wat b/tests/compiler/bindings/raw.debug.wat index 9ed304a21d..297dc6d7ac 100644 --- a/tests/compiler/bindings/raw.debug.wat +++ b/tests/compiler/bindings/raw.debug.wat @@ -129,17 +129,21 @@ local.get $a local.get $b i32.add + return ) (func $bindings/esm/plainFunction64 (type $i64_i64_=>_i64) (param $a i64) (param $b i64) (result i64) local.get $a local.get $b i64.add + return ) (func $bindings/esm/getMaxUnsigned32 (type $none_=>_i32) (result i32) global.get $~lib/builtins/u32.MAX_VALUE + return ) (func $bindings/esm/getMaxUnsigned64 (type $none_=>_i64) (result i64) global.get $~lib/builtins/u64.MAX_VALUE + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -150,6 +154,7 @@ i32.const 20 i32.sub call $~lib/rt/common/OBJECT#get:rtSize + return ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this @@ -169,6 +174,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -181,12 +187,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -344,6 +352,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -363,6 +372,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -480,6 +490,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -655,22 +666,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -695,16 +709,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -800,18 +817,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -835,18 +855,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -856,12 +879,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1009,22 +1035,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1069,16 +1098,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1133,10 +1165,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1252,6 +1287,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1434,6 +1470,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1668,6 +1705,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1746,6 +1784,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1761,6 +1800,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1851,16 +1891,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1893,16 +1936,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1916,46 +1962,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1992,10 +2045,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2115,30 +2171,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2209,6 +2271,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2221,6 +2284,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2283,6 +2347,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/string/String#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2291,21 +2356,25 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) local.get $left local.get $right call $~lib/string/String#concat + return ) (func $bindings/esm/stringFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b call $~lib/string/String.__concat + return ) (func $bindings/esm/stringFunctionOptional (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b call $~lib/string/String.__concat + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2403,12 +2472,14 @@ call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 i32.shr_u + return ) (func $~lib/typedarray/Float32Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 i32.shr_u + return ) (func $~lib/arraybuffer/ArrayBufferView#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2436,6 +2507,7 @@ i32.shl i32.add i32.load16_s $0 + return ) (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) local.get $index @@ -2483,6 +2555,7 @@ i32.shl i32.add f32.load $0 + return ) (func $~lib/staticarray/StaticArray#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2491,6 +2564,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 2 i32.shr_u + return ) (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -2516,6 +2590,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/staticarray/StaticArray#__uset (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $this @@ -2548,9 +2623,11 @@ ) (func $bindings/esm/staticarrayU16 (type $i32_=>_i32) (param $a i32) (result i32) local.get $a + return ) (func $bindings/esm/staticarrayI64 (type $i32_=>_i32) (param $a i32) (result i32) local.get $a + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -2583,6 +2660,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2613,6 +2691,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2666,6 +2745,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) (local $oldCapacity i32) @@ -2913,12 +2993,15 @@ (func $bindings/esm/newInternref (type $none_=>_i32) (result i32) i32.const 0 call $bindings/esm/NonPlainObject#constructor + return ) (func $bindings/esm/internrefFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a + return ) (func $bindings/esm/functionFunction (type $i32_=>_i32) (param $fn i32) (result i32) local.get $fn + return ) (func $~lib/rt/itcms/__pin (type $i32_=>_i32) (param $ptr i32) (result i32) (local $obj i32) @@ -2948,6 +3031,7 @@ call $~lib/rt/itcms/Object#linkTo end local.get $ptr + return ) (func $~lib/rt/itcms/__unpin (type $i32_=>_none) (param $ptr i32) (local $obj i32) @@ -3443,6 +3527,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $bindings/esm/bufferFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $aByteLength i32) @@ -3488,6 +3573,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 + return ) (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) (local $thisSize i32) @@ -3553,6 +3639,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 + return ) (func $bindings/esm/stringFunctionOptional@varargs (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $2 i32) @@ -3774,6 +3861,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 + return ) (func $~lib/staticarray/StaticArray#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $outSize i32) @@ -3821,6 +3909,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $bindings/esm/staticarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $c i32) @@ -3897,6 +3986,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -4063,6 +4153,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 + return ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -4210,6 +4301,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $bindings/esm/NonPlainObject#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) diff --git a/tests/compiler/bindings/raw.release.wat b/tests/compiler/bindings/raw.release.wat index 4cbdbbe7d2..423f2f93eb 100644 --- a/tests/compiler/bindings/raw.release.wat +++ b/tests/compiler/bindings/raw.release.wat @@ -2104,12 +2104,12 @@ (local $1 i32) (local $2 i32) (local $3 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $bindings/esm/NonPlainObject - block $~lib/array/Array<~lib/string/String> - block $bindings/esm/PlainObject + block $folding-inner0 + block $invalid + block $bindings/esm/NonPlainObject + block $~lib/array/Array<~lib/string/String> + block $bindings/esm/PlainObject + block $~lib/array/Array block $~lib/staticarray/StaticArray block $~lib/staticarray/StaticArray block $~lib/staticarray/StaticArray @@ -2121,7 +2121,7 @@ i32.const 8 i32.sub i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/function/Function<%28%29=>void> $folding-inner0 $folding-inner0 $folding-inner0 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $folding-inner1 $bindings/esm/PlainObject $folding-inner0 $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/function/Function<%28%29=>void> $folding-inner0 $folding-inner0 $folding-inner0 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $bindings/esm/PlainObject $folding-inner0 $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid end return end @@ -2145,21 +2145,7 @@ return end local.get $0 - i32.load $0 offset=56 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=60 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=64 + i32.load $0 local.tee $0 if local.get $0 @@ -2168,47 +2154,68 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load $0 offset=56 local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 + i32.load $0 offset=60 + local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $0 + i32.load $0 offset=64 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + local.get $0 + i32.load $0 offset=4 + local.tee $1 + local.get $0 + i32.load $0 offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.lt_u + if local.get $1 - local.get $3 - i32.lt_u + i32.load $0 + local.tee $3 if - local.get $1 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 end - br $folding-inner1 + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end return end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + return end - return + unreachable end local.get $0 i32.load $0 @@ -2307,6 +2314,239 @@ i32.const 1648 global.set $~lib/rt/itcms/fromSpace ) + (func $bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (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 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i32.const 0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + local.get $1 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.add + local.set $3 + local.get $6 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $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 $2 + i32.store $0 + end + local.get $2 + i32.const 0 + i32.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + 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 $3 + i32.const 3 + i32.shl + local.tee $4 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=4 + local.get $2 + local.tee $3 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $3 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $3 + local.get $7 + i32.store $0 offset=4 + local.get $3 + local.get $4 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + local.get $3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + local.get $3 + i32.store $0 + i32.const 0 + local.set $2 + loop $for-loop|0 + local.get $2 + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + i32.lt_s + if + local.get $2 + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + i32.ge_u + if + i32.const 1552 + i32.const 1792 + i32.const 452 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $2 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 1 + i32.shl + i32.add + i64.load16_s $0 + call $~lib/typedarray/Uint64Array#__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 + local.get $2 + local.get $1 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.lt_s + if + local.get $2 + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + i32.add + local.set $4 + local.get $2 + local.get $1 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 1552 + i32.const 1792 + i32.const 1304 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $4 + local.get $1 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + f32.load $0 + i64.trunc_sat_f32_u + call $~lib/typedarray/Uint64Array#__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.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $export:bindings/esm/bufferFunction (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -2518,259 +2758,37 @@ ) (func $export:bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 0 - i32.store $0 - local.get $4 - block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) - local.get $0 - local.tee $2 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.get $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.add - local.set $5 - local.get $4 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - 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 $0 - end - local.get $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - i32.store $0 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 $6 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=4 - local.get $0 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $0 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $5 - i32.store $0 offset=4 - local.get $0 - local.get $6 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - br $__inlined_func$~lib/typedarray/Uint64Array#constructor - end - br $folding-inner1 - end - local.tee $0 - i32.store $0 - loop $for-loop|0 - local.get $3 - local.get $2 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.lt_s - if - local.get $3 - local.get $2 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 1552 - i32.const 1792 - i32.const 452 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $3 - local.get $2 - i32.load $0 offset=4 - local.get $3 - i32.const 1 - i32.shl - i32.add - i64.load16_s $0 - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.lt_s - if - local.get $3 - local.get $2 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.add - local.set $4 - local.get $3 - local.get $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1552 - i32.const 1792 - i32.const 1304 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $4 - local.get $1 - i32.load $0 offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - f32.load $0 - i64.trunc_sat_f32_u - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + if + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - i32.const 34944 - i32.const 34992 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $bindings/esm/typedarrayFunction + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $export:bindings/esm/staticarrayFunction (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -2969,6 +2987,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2979,174 +2998,162 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 local.get $0 i32.store $0 - local.get $2 + local.get $3 local.get $1 i32.store $0 offset=4 - block $__inlined_func$bindings/esm/arrayFunction (result i32) - local.get $0 - local.set $3 + local.get $3 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.get $1 + i32.load $0 offset=12 + i32.add + local.set $6 + local.get $3 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 16 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 + local.get $4 + i32.const 0 + i32.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + local.get $4 + i32.const 0 + i32.store $0 offset=12 + local.get $6 + 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 $6 + local.get $6 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $7 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=4 + local.get $4 + local.get $5 + i32.store $0 + local.get $5 + if + local.get $4 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $4 + local.get $5 + i32.store $0 offset=4 + local.get $4 + local.get $7 + i32.store $0 offset=8 + local.get $4 + local.get $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + local.get $4 + i32.store $0 + loop $for-loop|0 local.get $2 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $6 - i32.const 0 - i32.store $0 - local.get $3 - i32.load $0 offset=12 - local.get $1 - i32.load $0 offset=12 - i32.add - local.set $5 - local.get $6 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 16 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - i32.store $0 + local.get $0 + i32.load $0 offset=12 + i32.lt_s + if + local.get $4 local.get $2 - i32.const 0 - i32.store $0 offset=4 + local.get $0 local.get $2 - i32.const 0 - i32.store $0 offset=8 + call $~lib/array/Array#__get + call $~lib/array/Array#__set local.get $2 - i32.const 0 - i32.store $0 offset=12 - local.get $5 - 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 $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 $4 - i32.store $0 offset=4 - local.get $2 - local.get $4 - i32.store $0 - local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + loop $for-loop|1 + local.get $2 + local.get $1 + i32.load $0 offset=12 + i32.lt_s + if local.get $4 - i32.store $0 offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $5 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.load $0 offset=12 i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $1 local.get $2 - i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|0 - local.get $0 - local.get $3 - i32.load $0 offset=12 - i32.lt_s - if - local.get $2 - local.get $0 - local.get $3 - local.get $0 - call $~lib/array/Array#__get - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $1 - i32.load $0 offset=12 - i32.lt_s - if - local.get $2 - local.get $0 - local.get $3 - i32.load $0 offset=12 - i32.add - local.get $1 - local.get $0 - call $~lib/array/Array#__get - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/array/Array#__get + call $~lib/array/Array#__set local.get $2 - br $__inlined_func$bindings/esm/arrayFunction + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 end - br $folding-inner1 end - local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $4 return end i32.const 34944 diff --git a/tests/compiler/builtins.debug.wat b/tests/compiler/builtins.debug.wat index 1d3c1fbca6..696a370a97 100644 --- a/tests/compiler/builtins.debug.wat +++ b/tests/compiler/builtins.debug.wat @@ -97,13 +97,16 @@ local.get $a local.get $b i32.add + return ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:index (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 + return ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:name (type $i32_=>_i32) (param $this i32) (result i32) i32.const 32 + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -116,6 +119,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -219,6 +223,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -261,12 +266,15 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:length (type $i32_=>_i32) (param $this i32) (result i32) i32.const 2 + return ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#toString (type $i32_=>_i32) (param $this i32) (result i32) i32.const 176 + return ) (func $~lib/atomics/Atomics.isLockFree (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -286,6 +294,7 @@ i32.const 4 i32.eq end + return ) (func $start:builtins~anonymous|1 (type $none_=>_none) nop @@ -313,6 +322,7 @@ local.get $6 i32.gt_s select + return ) (func $builtins/min3 (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $c i32) (result i32) (local $3 i32) @@ -334,6 +344,7 @@ local.get $6 i32.lt_s select + return ) (func $builtins/rotl3 (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $c i32) (result i32) (local $3 i32) @@ -372,6 +383,7 @@ i32.shr_u i32.or i32.extend8_s + return ) (func $builtins/rotr3 (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $c i32) (result i32) (local $3 i32) @@ -410,6 +422,7 @@ i32.shl i32.or i32.extend8_s + return ) (func $builtins/test (type $none_=>_none) nop diff --git a/tests/compiler/call-inferred.debug.wat b/tests/compiler/call-inferred.debug.wat index d7165bf634..28a2dc2120 100644 --- a/tests/compiler/call-inferred.debug.wat +++ b/tests/compiler/call-inferred.debug.wat @@ -17,15 +17,19 @@ (start $~start) (func $call-inferred/foo (type $i32_=>_i32) (param $a i32) (result i32) local.get $a + return ) (func $call-inferred/foo (type $f64_=>_f64) (param $a f64) (result f64) local.get $a + return ) (func $call-inferred/foo (type $f32_=>_f32) (param $a f32) (result f32) local.get $a + return ) (func $call-inferred/bar (type $f32_=>_f32) (param $a f32) (result f32) local.get $a + return ) (func $call-inferred/bar@varargs (type $f32_=>_f32) (param $a f32) (result f32) block $1of1 diff --git a/tests/compiler/call-optional.debug.wat b/tests/compiler/call-optional.debug.wat index aec300a422..2fb1ba0ebc 100644 --- a/tests/compiler/call-optional.debug.wat +++ b/tests/compiler/call-optional.debug.wat @@ -21,6 +21,7 @@ i32.add local.get $c i32.add + return ) (func $call-optional/opt@varargs (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $c i32) (result i32) block $2of2 diff --git a/tests/compiler/call-super.debug.wat b/tests/compiler/call-super.debug.wat index e303d0a5f2..25d32140c6 100644 --- a/tests/compiler/call-super.debug.wat +++ b/tests/compiler/call-super.debug.wat @@ -64,6 +64,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -76,12 +77,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -239,6 +242,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -258,6 +262,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -375,6 +380,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -550,22 +556,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -590,16 +599,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -695,18 +707,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -730,18 +745,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -751,12 +769,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -904,22 +925,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -964,16 +988,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1028,10 +1055,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1147,6 +1177,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1329,6 +1360,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1563,6 +1595,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1641,6 +1674,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1656,6 +1690,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1746,16 +1781,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1788,16 +1826,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1811,46 +1852,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1887,10 +1935,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2010,30 +2061,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2104,6 +2161,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2116,6 +2174,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2178,6 +2237,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $call-super/A#set:a (type $i32_i32_=>_none) (param $this i32) (param $a i32) local.get $this diff --git a/tests/compiler/call-super.release.wat b/tests/compiler/call-super.release.wat index 72e3bdae57..c9646d4ea5 100644 --- a/tests/compiler/call-super.release.wat +++ b/tests/compiler/call-super.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -80,6 +80,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34316 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1488 + i32.load $0 + i32.gt_u + if + i32.const 1296 + i32.const 1360 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -2094,146 +2226,18 @@ local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34316 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1296 - i32.const 1360 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1492 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/cast.debug.wat b/tests/compiler/cast.debug.wat index 36fab1e75c..32187a40de 100644 --- a/tests/compiler/cast.debug.wat +++ b/tests/compiler/cast.debug.wat @@ -17,12 +17,14 @@ local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -30,6 +32,7 @@ i32.extend8_s local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -37,6 +40,7 @@ i32.extend8_s local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -44,6 +48,7 @@ i32.extend8_s local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -51,6 +56,7 @@ i32.extend8_s local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -59,6 +65,7 @@ i64.extend_i32_s local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -67,24 +74,28 @@ i64.extend_i32_s local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -93,6 +104,7 @@ i32.and local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -101,6 +113,7 @@ i32.and local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -109,6 +122,7 @@ i32.and local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -117,6 +131,7 @@ i32.and local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -126,6 +141,7 @@ i64.extend_i32_u local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -135,36 +151,42 @@ i64.extend_i32_u local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -172,6 +194,7 @@ i32.extend16_s local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -179,6 +202,7 @@ i32.extend16_s local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -187,6 +211,7 @@ i64.extend_i32_s local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -195,36 +220,42 @@ i64.extend_i32_s local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -233,6 +264,7 @@ i32.and local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -241,6 +273,7 @@ i32.and local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -250,6 +283,7 @@ i64.extend_i32_u local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -259,48 +293,56 @@ i64.extend_i32_u local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -308,6 +350,7 @@ i64.extend_i32_s local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -315,48 +358,56 @@ i64.extend_i32_s local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -364,6 +415,7 @@ i64.extend_i32_u local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -371,12 +423,14 @@ i64.extend_i32_u local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -384,6 +438,7 @@ i32.wrap_i64 local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -391,6 +446,7 @@ i32.wrap_i64 local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -398,6 +454,7 @@ i32.wrap_i64 local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -405,6 +462,7 @@ i32.wrap_i64 local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -412,6 +470,7 @@ i32.wrap_i64 local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -419,18 +478,21 @@ i32.wrap_i64 local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i64) (param $x i64) (result i64) (local $y i64) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i64) (param $x i64) (result i64) (local $y i64) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -439,6 +501,7 @@ i64.ne local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -446,6 +509,7 @@ i32.wrap_i64 local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -453,6 +517,7 @@ i32.wrap_i64 local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -460,6 +525,7 @@ i32.wrap_i64 local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -467,6 +533,7 @@ i32.wrap_i64 local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -474,6 +541,7 @@ i32.wrap_i64 local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -481,18 +549,21 @@ i32.wrap_i64 local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i64) (param $x i64) (result i64) (local $y i64) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i64) (param $x i64) (result i64) (local $y i64) local.get $x local.set $y local.get $y + return ) (func $cast/test (type $i64_=>_i32) (param $x i64) (result i32) (local $y i32) @@ -501,6 +572,7 @@ i64.ne local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -509,6 +581,7 @@ i32.ne local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -517,6 +590,7 @@ i32.ne local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -525,6 +599,7 @@ i32.ne local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -533,6 +608,7 @@ i32.ne local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -541,6 +617,7 @@ i32.ne local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) @@ -549,6 +626,7 @@ i32.ne local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -558,6 +636,7 @@ i64.extend_i32_u local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i64) (param $x i32) (result i64) (local $y i64) @@ -567,12 +646,14 @@ i64.extend_i32_u local.set $y local.get $y + return ) (func $cast/test (type $i32_=>_i32) (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y + return ) (func $start:cast (type $none_=>_none) i32.const 0 diff --git a/tests/compiler/class-implements.debug.wat b/tests/compiler/class-implements.debug.wat index 6bb5c9156d..7749eb9079 100644 --- a/tests/compiler/class-implements.debug.wat +++ b/tests/compiler/class-implements.debug.wat @@ -67,6 +67,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -79,12 +80,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -242,6 +245,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -261,6 +265,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -378,6 +383,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -553,22 +559,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -593,16 +602,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -698,18 +710,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -733,18 +748,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -754,12 +772,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -907,22 +928,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -967,16 +991,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1031,10 +1058,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1150,6 +1180,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1332,6 +1363,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1566,6 +1598,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1644,6 +1677,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1659,6 +1693,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1749,16 +1784,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1791,16 +1829,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1814,46 +1855,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1890,10 +1938,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2013,30 +2064,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2107,6 +2164,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2119,6 +2177,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2181,18 +2240,23 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $class-implements/A#foo (type $i32_=>_i32) (param $this i32) (result i32) i32.const 1 + return ) (func $class-implements/C#foo (type $i32_=>_i32) (param $this i32) (result i32) i32.const 2 + return ) (func $class-implements/D#foo (type $i32_=>_i32) (param $this i32) (result i32) i32.const 3 + return ) (func $class-implements/F#foo (type $i32_=>_i32) (param $this i32) (result i32) i32.const 4 + return ) (func $class-implements/I#foo (type $i32_=>_i32) (param $this i32) (result i32) unreachable @@ -2242,6 +2306,7 @@ (func $class-implements/B2#get:foo (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $class-implements/B2#get:_foo + return ) (func $class-implements/B3#set:_foo2 (type $i32_i32_=>_none) (param $this i32) (param $_foo2 i32) local.get $this @@ -2255,6 +2320,7 @@ (func $class-implements/B3#get:foo (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $class-implements/B3#get:_foo2 + return ) (func $class-implements/B4#set:_foo2 (type $i32_i32_=>_none) (param $this i32) (param $_foo2 i32) local.get $this @@ -2268,6 +2334,7 @@ (func $class-implements/B4#get:foo (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $class-implements/B4#get:_foo2 + return ) (func $class-implements/B3#set:foo (type $i32_i32_=>_none) (param $this i32) (param $foo i32) local.get $this diff --git a/tests/compiler/class-implements.release.wat b/tests/compiler/class-implements.release.wat index b31764f595..35d8afc22e 100644 --- a/tests/compiler/class-implements.release.wat +++ b/tests/compiler/class-implements.release.wat @@ -1,10 +1,10 @@ (module (type $none_=>_none (func_subtype func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -129,6 +129,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34352 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1504 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1508 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -3270,146 +3402,18 @@ local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34352 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1504 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1508 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/class-overloading-cast.debug.wat b/tests/compiler/class-overloading-cast.debug.wat index fe29f54c6a..a0737ae01e 100644 --- a/tests/compiler/class-overloading-cast.debug.wat +++ b/tests/compiler/class-overloading-cast.debug.wat @@ -73,6 +73,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -85,12 +86,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -248,6 +251,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -267,6 +271,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -384,6 +389,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -559,22 +565,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -599,16 +608,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -704,18 +716,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -739,18 +754,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -760,12 +778,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -913,22 +934,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -973,16 +997,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1037,10 +1064,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1156,6 +1186,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1338,6 +1369,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1572,6 +1604,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1650,6 +1683,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1665,6 +1699,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1755,16 +1790,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1797,16 +1835,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1820,46 +1861,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1896,10 +1944,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2019,30 +2070,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2113,6 +2170,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2125,6 +2183,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2187,9 +2246,11 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $class-overloading-cast/A#foo (type $i32_i32_=>_i32) (param $this i32) (param $a i32) (result i32) i32.const 432 + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2202,6 +2263,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2305,6 +2367,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2347,24 +2410,31 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $class-overloading-cast/B#foo (type $i32_i32_=>_i32) (param $this i32) (param $a i32) (result i32) i32.const 464 + return ) (func $class-overloading-cast/A#foo (type $i32_f64_=>_i32) (param $this i32) (param $a f64) (result i32) i32.const 432 + return ) (func $class-overloading-cast/A<~lib/string/String>#foo (type $i32_i32_=>_i32) (param $this i32) (param $a i32) (result i32) i32.const 432 + return ) (func $class-overloading-cast/D#bar (type $i32_f32_=>_i32) (param $this i32) (param $a f32) (result i32) i32.const 608 + return ) (func $class-overloading-cast/B#foo (type $i32_i32_=>_i32) (param $this i32) (param $a i32) (result i32) i32.const 464 + return ) (func $class-overloading-cast/B#foo (type $i32_f64_=>_i32) (param $this i32) (param $a f64) (result i32) i32.const 464 + return ) (func $class-overloading-cast/A#foo@override (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) diff --git a/tests/compiler/class-overloading-cast.release.wat b/tests/compiler/class-overloading-cast.release.wat index a0b882c6be..e0f87c6381 100644 --- a/tests/compiler/class-overloading-cast.release.wat +++ b/tests/compiler/class-overloading-cast.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -117,6 +117,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34476 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1648 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1652 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -2025,146 +2157,18 @@ local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34476 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1648 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1652 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/class-overloading.debug.wat b/tests/compiler/class-overloading.debug.wat index f8f4a233bc..f862a7f2b3 100644 --- a/tests/compiler/class-overloading.debug.wat +++ b/tests/compiler/class-overloading.debug.wat @@ -77,6 +77,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -89,12 +90,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -252,6 +255,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -271,6 +275,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -388,6 +393,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -563,22 +569,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -603,16 +612,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -708,18 +720,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -743,18 +758,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -764,12 +782,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -917,22 +938,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -977,16 +1001,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1041,10 +1068,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1160,6 +1190,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1342,6 +1373,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1576,6 +1608,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1654,6 +1687,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1669,6 +1703,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1759,16 +1794,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1801,16 +1839,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1824,46 +1865,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1900,10 +1948,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2023,30 +2074,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2117,6 +2174,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2129,6 +2187,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2191,6 +2250,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $class-overloading/A#a (type $i32_i32_=>_none) (param $this i32) (param $a i32) i32.const 464 @@ -2207,6 +2267,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2310,6 +2371,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2352,6 +2414,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $class-overloading/A#b (type $i32_i32_=>_none) (param $this i32) (param $b i32) i32.const 464 @@ -2361,6 +2424,7 @@ i32.const 464 global.set $class-overloading/which i32.const 0 + return ) (func $class-overloading/A#set:c (type $i32_i32_=>_none) (param $this i32) (param $c i32) i32.const 464 @@ -2378,6 +2442,7 @@ i32.const 592 global.set $class-overloading/which i32.const 0 + return ) (func $class-overloading/C#set:c (type $i32_i32_=>_none) (param $this i32) (param $c i32) i32.const 592 @@ -2410,11 +2475,13 @@ i32.const 496 global.set $class-overloading/which i32.const 0 + return ) (func $class-overloading/F#get:c (type $i32_=>_i32) (param $this i32) (result i32) i32.const 624 global.set $class-overloading/which i32.const 0 + return ) (func $class-overloading/B#set:c (type $i32_i32_=>_none) (param $this i32) (param $c i32) i32.const 496 @@ -2443,9 +2510,11 @@ (func $class-overloading/A1#bar (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $class-overloading/A1#baz@override + return ) (func $class-overloading/B1#baz (type $i32_=>_i32) (param $this i32) (result i32) i32.const 3 + return ) (func $class-overloading/A#a@override (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) @@ -3716,6 +3785,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) diff --git a/tests/compiler/class-overloading.release.wat b/tests/compiler/class-overloading.release.wat index 42cfafa4fc..bfc16e68cd 100644 --- a/tests/compiler/class-overloading.release.wat +++ b/tests/compiler/class-overloading.release.wat @@ -139,6 +139,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34636 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1792 + i32.load $0 + i32.gt_u + if + i32.const 1280 + i32.const 1344 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1796 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -3043,146 +3175,18 @@ local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34636 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1792 - i32.load $0 - i32.gt_u - if - i32.const 1280 - i32.const 1344 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1796 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/class-static-function.debug.wat b/tests/compiler/class-static-function.debug.wat index 2c45b56539..07adf2db2e 100644 --- a/tests/compiler/class-static-function.debug.wat +++ b/tests/compiler/class-static-function.debug.wat @@ -17,6 +17,7 @@ (start $~start) (func $class-static-function/Example.staticFunc (type $none_=>_i32) (result i32) i32.const 42 + return ) (func $class-static-function/call (type $i32_=>_i32) (param $func i32) (result i32) i32.const 0 @@ -24,6 +25,7 @@ local.get $func i32.load $0 call_indirect $0 (type $none_=>_i32) + return ) (func $~start (type $none_=>_none) call $start:class-static-function diff --git a/tests/compiler/class.debug.wat b/tests/compiler/class.debug.wat index 6f9e13e915..d746667d18 100644 --- a/tests/compiler/class.debug.wat +++ b/tests/compiler/class.debug.wat @@ -55,6 +55,7 @@ i32.add global.get $class/Animal.ONE i32.add + return ) (func $class/Animal.sub (type $f32_f32_=>_f32) (param $a f32) (param $b f32) (result f32) local.get $a @@ -63,6 +64,7 @@ global.get $class/Animal.ONE f32.convert_i32_s f32.add + return ) (func $start:class (type $none_=>_none) i32.const 4 @@ -86,6 +88,7 @@ i32.add global.get $class/Animal.ONE i32.add + return ) (func $class/Animal#instanceSub (type $i32_f32_f32_=>_f32) (param $this i32) (param $a f32) (param $b f32) (result f32) local.get $a @@ -94,6 +97,7 @@ global.get $class/Animal.ONE f32.convert_i32_s f32.add + return ) (func $class/Animal#get:one (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -166,6 +170,7 @@ local.get $ptr local.set $cls local.get $cls + return ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this @@ -185,6 +190,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -197,12 +203,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -360,6 +368,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -379,6 +388,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -496,6 +506,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -671,22 +682,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -711,16 +725,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -816,18 +833,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -851,18 +871,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -872,12 +895,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1025,22 +1051,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1085,16 +1114,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1149,10 +1181,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1268,6 +1303,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1450,6 +1486,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1684,6 +1721,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1762,6 +1800,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1777,6 +1816,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1867,16 +1907,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1909,16 +1952,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1932,46 +1978,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2008,10 +2061,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2131,30 +2187,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2225,6 +2287,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2237,6 +2300,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2299,6 +2363,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) diff --git a/tests/compiler/const-folding.debug.wat b/tests/compiler/const-folding.debug.wat index 72062166eb..38e6e185cd 100644 --- a/tests/compiler/const-folding.debug.wat +++ b/tests/compiler/const-folding.debug.wat @@ -65,6 +65,7 @@ local.get $rlo local.get $rhi i64.add + return ) (func $~start (type $none_=>_none) call $start:const-folding diff --git a/tests/compiler/constructor.debug.wat b/tests/compiler/constructor.debug.wat index cb1473d514..e1edb45a54 100644 --- a/tests/compiler/constructor.debug.wat +++ b/tests/compiler/constructor.debug.wat @@ -72,6 +72,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -84,12 +85,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -247,6 +250,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -266,6 +270,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -383,6 +388,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -558,22 +564,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -598,16 +607,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -703,18 +715,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -738,18 +753,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -759,12 +777,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -912,22 +933,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -972,16 +996,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1036,10 +1063,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1155,6 +1185,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1337,6 +1368,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1571,6 +1603,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1649,6 +1682,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1664,6 +1698,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1754,16 +1789,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1796,16 +1834,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1819,46 +1860,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1895,10 +1943,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2018,30 +2069,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2112,6 +2169,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2124,6 +2182,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2186,6 +2245,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $constructor/EmptyCtorWithFieldInit#set:a (type $i32_i32_=>_none) (param $this i32) (param $a i32) local.get $this @@ -2214,6 +2274,7 @@ ) (func $constructor/CtorReturns#constructor (type $i32_=>_i32) (param $this i32) (result i32) i32.const 0 + return ) (func $constructor/CtorFieldInitOrder#get:a (type $i32_=>_i32) (param $this i32) (result i32) local.get $this diff --git a/tests/compiler/constructor.release.wat b/tests/compiler/constructor.release.wat index 95925bef87..b3b8d87587 100644 --- a/tests/compiler/constructor.release.wat +++ b/tests/compiler/constructor.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -143,6 +143,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34320 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1488 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1957,146 +2089,18 @@ local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34320 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1492 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/do.debug.wat b/tests/compiler/do.debug.wat index 816865a2b0..e9fa720427 100644 --- a/tests/compiler/do.debug.wat +++ b/tests/compiler/do.debug.wat @@ -468,6 +468,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -480,12 +481,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -643,6 +646,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -662,6 +666,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -779,6 +784,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -954,22 +960,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -994,16 +1003,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -1099,18 +1111,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1134,18 +1149,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1155,12 +1173,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1308,22 +1329,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1368,16 +1392,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1432,10 +1459,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1551,6 +1581,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1733,6 +1764,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1967,6 +1999,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -2045,6 +2078,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -2060,6 +2094,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -2150,16 +2185,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -2192,16 +2230,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -2215,46 +2256,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2291,10 +2339,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2414,30 +2465,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2508,6 +2565,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2520,6 +2578,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2582,6 +2641,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $do/testRef (type $none_=>_none) (local $i i32) @@ -2654,6 +2714,7 @@ (func $do/getRef (type $none_=>_i32) (result i32) i32.const 0 call $do/Ref#constructor + return ) (func $do/testRefAutorelease (type $none_=>_none) (local $i i32) diff --git a/tests/compiler/do.release.wat b/tests/compiler/do.release.wat index 08801f3ccf..f802c61a5f 100644 --- a/tests/compiler/do.release.wat +++ b/tests/compiler/do.release.wat @@ -1,9 +1,9 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -79,6 +79,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34264 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1472 + i32.load $0 + i32.gt_u + if + i32.const 1280 + i32.const 1344 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1476 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1775,146 +1907,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34264 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1472 - i32.load $0 - i32.gt_u - if - i32.const 1280 - i32.const 1344 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1476 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/duplicate-fields.debug.wat b/tests/compiler/duplicate-fields.debug.wat index 75b3727caf..5d53fde51c 100644 --- a/tests/compiler/duplicate-fields.debug.wat +++ b/tests/compiler/duplicate-fields.debug.wat @@ -67,6 +67,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -79,12 +80,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -242,6 +245,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -261,6 +265,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -378,6 +383,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -553,22 +559,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -593,16 +602,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -698,18 +710,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -733,18 +748,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -754,12 +772,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -907,22 +928,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -967,16 +991,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1031,10 +1058,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1150,6 +1180,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1332,6 +1363,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1566,6 +1598,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1644,6 +1677,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1659,6 +1693,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1749,16 +1784,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1791,16 +1829,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1814,46 +1855,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1890,10 +1938,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2013,30 +2064,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2107,6 +2164,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2119,6 +2177,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2181,6 +2240,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $duplicate-fields/B#set:bar (type $i32_i32_=>_none) (param $this i32) (param $bar i32) local.get $this diff --git a/tests/compiler/empty-exportruntime.debug.wat b/tests/compiler/empty-exportruntime.debug.wat index 1cf98d7848..15f4832cef 100644 --- a/tests/compiler/empty-exportruntime.debug.wat +++ b/tests/compiler/empty-exportruntime.debug.wat @@ -66,6 +66,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -78,12 +79,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -241,6 +244,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -260,6 +264,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -377,6 +382,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -552,22 +558,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -592,16 +601,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -697,18 +709,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -732,18 +747,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -753,12 +771,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -906,22 +927,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -966,16 +990,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1030,10 +1057,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1149,6 +1179,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1331,6 +1362,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1565,6 +1597,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1643,6 +1676,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1658,6 +1692,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1748,16 +1783,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1790,16 +1828,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1813,46 +1854,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1889,10 +1937,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2012,30 +2063,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2106,6 +2163,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2118,6 +2176,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2180,6 +2239,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__pin (type $i32_=>_i32) (param $ptr i32) (result i32) (local $obj i32) @@ -2209,6 +2269,7 @@ call $~lib/rt/itcms/Object#linkTo end local.get $ptr + return ) (func $~lib/rt/itcms/__unpin (type $i32_=>_none) (param $ptr i32) (local $obj i32) diff --git a/tests/compiler/empty-new.debug.wat b/tests/compiler/empty-new.debug.wat index 286b853732..3235e5becc 100644 --- a/tests/compiler/empty-new.debug.wat +++ b/tests/compiler/empty-new.debug.wat @@ -59,6 +59,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -71,12 +72,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -234,6 +237,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -253,6 +257,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -370,6 +375,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -545,22 +551,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -585,16 +594,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -690,18 +702,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -725,18 +740,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -746,12 +764,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -899,22 +920,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -959,16 +983,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1023,10 +1050,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1142,6 +1172,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1324,6 +1355,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1558,6 +1590,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1636,6 +1669,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1651,6 +1685,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1741,16 +1776,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1783,16 +1821,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1806,46 +1847,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1882,10 +1930,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2005,30 +2056,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2099,6 +2156,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2111,6 +2169,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2173,6 +2232,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $start:empty-new (type $none_=>_none) memory.size $0 diff --git a/tests/compiler/empty-new.release.wat b/tests/compiler/empty-new.release.wat index c9c483a759..9f2a508fda 100644 --- a/tests/compiler/empty-new.release.wat +++ b/tests/compiler/empty-new.release.wat @@ -1,7 +1,7 @@ (module (type $none_=>_none (func_subtype func)) - (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -76,6 +76,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34228 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1440 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1286,146 +1418,18 @@ call $~lib/rt/itcms/__new ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34228 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1444 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/enum.debug.wat b/tests/compiler/enum.debug.wat index 9b5f70b8bc..e8e66897a6 100644 --- a/tests/compiler/enum.debug.wat +++ b/tests/compiler/enum.debug.wat @@ -70,6 +70,7 @@ (start $~start) (func $enum/getZero (type $none_=>_i32) (result i32) i32.const 0 + return ) (func $start:enum (type $none_=>_none) call $enum/getZero diff --git a/tests/compiler/export.debug.wat b/tests/compiler/export.debug.wat index 3674d7336c..bc2db64d3b 100644 --- a/tests/compiler/export.debug.wat +++ b/tests/compiler/export.debug.wat @@ -20,15 +20,18 @@ local.get $a local.get $b i32.add + return ) (func $export/sub (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.sub + return ) (func $export/mul (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.mul + return ) ) diff --git a/tests/compiler/exports.debug.wat b/tests/compiler/exports.debug.wat index 411db43db3..f5fc82cb23 100644 --- a/tests/compiler/exports.debug.wat +++ b/tests/compiler/exports.debug.wat @@ -29,11 +29,13 @@ local.get $a local.get $b i32.add + return ) (func $exports/subOpt (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.sub + return ) (func $exports/subOpt@varargs (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) block $1of1 @@ -57,6 +59,7 @@ local.get $a local.get $b i32.mul + return ) (func $~setArgumentsLength (type $i32_=>_none) (param $0 i32) local.get $0 diff --git a/tests/compiler/exportstar-rereexport.debug.wat b/tests/compiler/exportstar-rereexport.debug.wat index 000a6b0c9a..af057762b3 100644 --- a/tests/compiler/exportstar-rereexport.debug.wat +++ b/tests/compiler/exportstar-rereexport.debug.wat @@ -62,16 +62,19 @@ local.get $a local.get $b i32.add + return ) (func $export/mul (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.mul + return ) (func $exports/add (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.add + return ) (func $exports/Car#set:doors (type $i32_i32_=>_none) (param $this i32) (param $doors i32) local.get $this @@ -96,6 +99,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -108,12 +112,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -271,6 +277,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -290,6 +297,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -407,6 +415,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -582,22 +591,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -622,16 +634,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -727,18 +742,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -762,18 +780,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -783,12 +804,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -936,22 +960,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -996,16 +1023,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1060,10 +1090,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1179,6 +1212,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1361,6 +1395,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1595,6 +1630,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1673,6 +1709,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1688,6 +1725,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1778,16 +1816,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1820,16 +1861,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1843,46 +1887,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1919,10 +1970,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2042,30 +2096,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2136,6 +2196,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2148,6 +2209,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2210,6 +2272,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $exports/Car#get:doors (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2218,6 +2281,7 @@ (func $exports/Car#get:numDoors (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $exports/Car#get:doors + return ) (func $start:exportstar-rereexport (type $none_=>_none) call $start:rereexport diff --git a/tests/compiler/exportstar-rereexport.release.wat b/tests/compiler/exportstar-rereexport.release.wat index 883c616253..89e30b216f 100644 --- a/tests/compiler/exportstar-rereexport.release.wat +++ b/tests/compiler/exportstar-rereexport.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) @@ -110,6 +110,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34328 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1536 + i32.load $0 + i32.gt_u + if + i32.const 1296 + i32.const 1360 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1540 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1460,146 +1592,18 @@ local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34328 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1536 - i32.load $0 - i32.gt_u - if - i32.const 1296 - i32.const 1360 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1540 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/exportstar.debug.wat b/tests/compiler/exportstar.debug.wat index 3674d7336c..bc2db64d3b 100644 --- a/tests/compiler/exportstar.debug.wat +++ b/tests/compiler/exportstar.debug.wat @@ -20,15 +20,18 @@ local.get $a local.get $b i32.add + return ) (func $export/sub (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.sub + return ) (func $export/mul (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.mul + return ) ) diff --git a/tests/compiler/extends-baseaggregate.debug.wat b/tests/compiler/extends-baseaggregate.debug.wat index b2094bf570..6f262908bd 100644 --- a/tests/compiler/extends-baseaggregate.debug.wat +++ b/tests/compiler/extends-baseaggregate.debug.wat @@ -69,6 +69,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -81,12 +82,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -244,6 +247,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -263,6 +267,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -380,6 +385,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -555,22 +561,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -595,16 +604,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -700,18 +712,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -735,18 +750,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -756,12 +774,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -909,22 +930,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -969,16 +993,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1033,10 +1060,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1152,6 +1182,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1334,6 +1365,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1568,6 +1600,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1646,6 +1679,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1661,6 +1695,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1751,16 +1786,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1793,16 +1831,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1816,46 +1857,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1892,10 +1940,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2015,30 +2066,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2109,6 +2166,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2121,6 +2179,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2183,6 +2242,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $extends-baseaggregate/A1#set:padding0 (type $i32_f64_=>_none) (param $this i32) (param $padding0 f64) local.get $this @@ -2331,6 +2391,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) (local $oldCapacity i32) @@ -2470,6 +2531,7 @@ local.get $len call $~lib/array/Array#set:length_ local.get $len + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) diff --git a/tests/compiler/extends-baseaggregate.release.wat b/tests/compiler/extends-baseaggregate.release.wat index b8fe1b7508..cd17157ecc 100644 --- a/tests/compiler/extends-baseaggregate.release.wat +++ b/tests/compiler/extends-baseaggregate.release.wat @@ -1529,17 +1529,17 @@ i32.const 2 i32.shl i32.add - local.set $3 + local.set $2 loop $while-continue|0 local.get $1 - local.get $3 + local.get $2 i32.lt_u if local.get $1 i32.load $0 - local.tee $2 + local.tee $3 if - local.get $2 + local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__visit end local.get $1 diff --git a/tests/compiler/extends-recursive.debug.wat b/tests/compiler/extends-recursive.debug.wat index 0445714d05..51c7fd7c1f 100644 --- a/tests/compiler/extends-recursive.debug.wat +++ b/tests/compiler/extends-recursive.debug.wat @@ -59,6 +59,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -71,12 +72,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -234,6 +237,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -253,6 +257,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -370,6 +375,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -545,22 +551,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -585,16 +594,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -690,18 +702,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -725,18 +740,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -746,12 +764,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -899,22 +920,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -959,16 +983,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1023,10 +1050,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1142,6 +1172,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1324,6 +1355,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1558,6 +1590,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1636,6 +1669,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1651,6 +1685,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1741,16 +1776,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1783,16 +1821,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1806,46 +1847,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1882,10 +1930,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2005,30 +2056,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2099,6 +2156,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2111,6 +2169,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2173,6 +2232,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) diff --git a/tests/compiler/extends-recursive.release.wat b/tests/compiler/extends-recursive.release.wat index a335987d83..87553b4474 100644 --- a/tests/compiler/extends-recursive.release.wat +++ b/tests/compiler/extends-recursive.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -77,6 +77,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34236 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1440 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1526,9 +1658,6 @@ end ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 @@ -1540,132 +1669,7 @@ i32.eq if local.get $0 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $1 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz - if - local.get $0 - i32.load $0 offset=8 - i32.eqz - local.get $0 - i32.const 34236 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $1 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - i32.const 1444 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/features/reference-types.debug.wat b/tests/compiler/features/reference-types.debug.wat index 86d077e642..ab1230432a 100644 --- a/tests/compiler/features/reference-types.debug.wat +++ b/tests/compiler/features/reference-types.debug.wat @@ -367,6 +367,7 @@ call $features/reference-types/external local.set $d local.get $d + return ) (func $~start (type $none_=>_none) call $start:features/reference-types diff --git a/tests/compiler/field-initialization.debug.wat b/tests/compiler/field-initialization.debug.wat index 4ed7b30af4..ead11b6651 100644 --- a/tests/compiler/field-initialization.debug.wat +++ b/tests/compiler/field-initialization.debug.wat @@ -70,6 +70,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -82,12 +83,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -245,6 +248,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -264,6 +268,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -381,6 +386,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -556,22 +562,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -596,16 +605,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -701,18 +713,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -736,18 +751,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -757,12 +775,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -910,22 +931,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -970,16 +994,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1034,10 +1061,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1153,6 +1183,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1335,6 +1366,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1569,6 +1601,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1647,6 +1680,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1662,6 +1696,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1752,16 +1787,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1794,16 +1832,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1817,46 +1858,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1893,10 +1941,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2016,30 +2067,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2110,6 +2167,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2122,6 +2180,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2184,6 +2243,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $field-initialization/Value_Init#set:a (type $i32_i32_=>_none) (param $this i32) (param $a i32) local.get $this @@ -2461,6 +2521,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2564,6 +2625,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2606,6 +2668,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $field-initialization/SomeOtherObject#set:c (type $i32_i32_=>_none) (param $this i32) (param $c i32) local.get $this @@ -4377,6 +4440,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $field-initialization/Nullable#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) diff --git a/tests/compiler/field.debug.wat b/tests/compiler/field.debug.wat index ee637a902b..9a5697ec94 100644 --- a/tests/compiler/field.debug.wat +++ b/tests/compiler/field.debug.wat @@ -61,6 +61,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -73,12 +74,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -236,6 +239,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -255,6 +259,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -372,6 +377,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -547,22 +553,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -587,16 +596,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -692,18 +704,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -727,18 +742,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -748,12 +766,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -901,22 +922,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -961,16 +985,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1025,10 +1052,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1144,6 +1174,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1326,6 +1357,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1560,6 +1592,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1638,6 +1671,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1653,6 +1687,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1743,16 +1778,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1785,16 +1823,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1808,46 +1849,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1884,10 +1932,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2007,30 +2058,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2101,6 +2158,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2113,6 +2171,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2175,6 +2234,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/__newBuffer (type $i32_i32_i32_=>_i32) (param $size i32) (param $id i32) (param $data i32) (result i32) (local $buffer i32) @@ -2190,6 +2250,7 @@ memory.copy $0 $0 end local.get $buffer + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2667,5 +2728,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) ) diff --git a/tests/compiler/field.release.wat b/tests/compiler/field.release.wat index 211e83227c..504bc37e85 100644 --- a/tests/compiler/field.release.wat +++ b/tests/compiler/field.release.wat @@ -1551,7 +1551,14 @@ br $while-continue|0 end end - br $folding-inner0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return end unreachable end diff --git a/tests/compiler/for.debug.wat b/tests/compiler/for.debug.wat index a6e24d9e6d..bc36562d0a 100644 --- a/tests/compiler/for.debug.wat +++ b/tests/compiler/for.debug.wat @@ -449,6 +449,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -461,12 +462,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -624,6 +627,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -643,6 +647,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -760,6 +765,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -935,22 +941,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -975,16 +984,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -1080,18 +1092,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1115,18 +1130,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1136,12 +1154,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1289,22 +1310,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1349,16 +1373,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1413,10 +1440,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1532,6 +1562,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1714,6 +1745,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1948,6 +1980,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -2026,6 +2059,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -2041,6 +2075,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -2131,16 +2166,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -2173,16 +2211,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -2196,46 +2237,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2272,10 +2320,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2395,30 +2446,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2489,6 +2546,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2501,6 +2559,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2563,6 +2622,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $for/testRef (type $none_=>_none) (local $i i32) @@ -2637,6 +2697,7 @@ (func $for/getRef (type $none_=>_i32) (result i32) i32.const 0 call $for/Ref#constructor + return ) (func $for/testRefAutorelease (type $none_=>_none) (local $i i32) diff --git a/tests/compiler/for.release.wat b/tests/compiler/for.release.wat index 96ba6be1ba..4722c0bdc3 100644 --- a/tests/compiler/for.release.wat +++ b/tests/compiler/for.release.wat @@ -1,9 +1,9 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -79,6 +79,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34264 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1472 + i32.load $0 + i32.gt_u + if + i32.const 1280 + i32.const 1344 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1476 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1280,7 +1412,7 @@ end i32.const 10 local.set $0 - loop $for-loop|02 + loop $for-loop|01 local.get $0 i32.const 0 i32.gt_s @@ -1289,7 +1421,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|02 + br $for-loop|01 end end local.get $0 @@ -1303,7 +1435,7 @@ end i32.const 0 local.set $0 - loop $for-loop|04 + loop $for-loop|02 local.get $0 i32.const 10 i32.ne @@ -1312,7 +1444,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|04 + br $for-loop|02 end end local.get $0 @@ -1328,12 +1460,12 @@ end i32.const 10 local.set $0 - loop $for-loop|07 + loop $for-loop|04 local.get $0 i32.const 1 i32.sub local.tee $0 - br_if $for-loop|07 + br_if $for-loop|04 end local.get $0 if @@ -1346,14 +1478,14 @@ end i32.const 0 local.set $0 - loop $for-loop|010 + loop $for-loop|06 local.get $0 i32.const 1 i32.add local.tee $0 i32.const 10 i32.ne - br_if $for-loop|010 + br_if $for-loop|06 end local.get $0 i32.const 10 @@ -1368,7 +1500,7 @@ end i32.const 0 local.set $0 - loop $for-loop|012 + loop $for-loop|07 local.get $0 i32.const 10 i32.lt_s @@ -1377,7 +1509,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|012 + br $for-loop|07 end end local.get $0 @@ -1393,7 +1525,7 @@ end i32.const 0 local.set $0 - loop $for-loop|017 + loop $for-loop|09 local.get $0 i32.const 10 i32.lt_s @@ -1430,7 +1562,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|017 + br $for-loop|09 end end local.get $0 @@ -1517,7 +1649,7 @@ call $for/Ref#constructor local.tee $0 i32.store $0 - loop $for-loop|06 + loop $for-loop|08 local.get $0 if local.get $1 @@ -1535,7 +1667,7 @@ local.tee $0 i32.store $0 end - br $for-loop|06 + br $for-loop|08 end end local.get $1 @@ -1771,146 +1903,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34264 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1472 - i32.load $0 - i32.gt_u - if - i32.const 1280 - i32.const 1344 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1476 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/function-call.debug.wat b/tests/compiler/function-call.debug.wat index 4a2050e7cf..6373881af5 100644 --- a/tests/compiler/function-call.debug.wat +++ b/tests/compiler/function-call.debug.wat @@ -67,14 +67,17 @@ local.get $a local.get $b i32.add + return ) (func $start:function-call~anonymous|3 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.add + return ) (func $start:function-call~fn2|4 (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + return ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this @@ -94,6 +97,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -106,12 +110,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -269,6 +275,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -288,6 +295,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -405,6 +413,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -580,22 +589,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -620,16 +632,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -725,18 +740,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -760,18 +778,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -781,12 +802,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -934,22 +958,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -994,16 +1021,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1058,10 +1088,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1177,6 +1210,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1359,6 +1393,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1593,6 +1628,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1671,6 +1707,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1686,6 +1723,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1776,16 +1814,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1818,16 +1859,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1841,46 +1885,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1917,10 +1968,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2040,30 +2094,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2134,6 +2194,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2146,6 +2207,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2208,17 +2270,20 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $function-call/Foo#fnVoid (type $i32_=>_none) (param $this i32) nop ) (func $function-call/Foo#fnThis (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + return ) (func $function-call/Foo#fnRet (type $i32_i32_i32_=>_i32) (param $this i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.add + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) diff --git a/tests/compiler/function-call.release.wat b/tests/compiler/function-call.release.wat index ad56621872..8ac7ac0a2d 100644 --- a/tests/compiler/function-call.release.wat +++ b/tests/compiler/function-call.release.wat @@ -118,6 +118,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34572 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1760 + i32.load $0 + i32.gt_u + if + i32.const 1472 + i32.const 1536 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1764 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1498,146 +1630,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34572 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1760 - i32.load $0 - i32.gt_u - if - i32.const 1472 - i32.const 1536 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1764 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/function-expression.debug.wat b/tests/compiler/function-expression.debug.wat index 7bae587bba..a15247d61c 100644 --- a/tests/compiler/function-expression.debug.wat +++ b/tests/compiler/function-expression.debug.wat @@ -70,9 +70,11 @@ (start $~start) (func $start:function-expression~anonymous|0 (type $i32_=>_i32) (param $a i32) (result i32) local.get $a + return ) (func $start:function-expression~anonymous|1 (type $i32_=>_i32) (param $a i32) (result i32) local.get $a + return ) (func $start:function-expression~someName|2 (type $none_=>_none) nop @@ -93,6 +95,7 @@ local.get $fn i32.load $0 call_indirect $0 (type $i32_i32_=>_i32) + return ) (func $start:function-expression~anonymous|5 (type $i32_i32_=>_i32) (param $a i32) (param $$1 i32) (result i32) local.get $a @@ -107,18 +110,21 @@ ) (func $function-expression/testOmittedReturn1 (type $none_=>_i32) (result i32) i32.const 320 + return ) (func $function-expression/testOmittedReturn2~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $$1 i32) (result i32) local.get $a ) (func $function-expression/testOmittedReturn2 (type $none_=>_i32) (result i32) i32.const 352 + return ) (func $function-expression/testOmittedReturn3~anonymous|0 (type $i32_i32_=>_i32) (param $$0 i32) (param $$1 i32) (result i32) i32.const 42 ) (func $function-expression/testOmittedReturn3 (type $none_=>_i32) (result i32) i32.const 384 + return ) (func $function-expression/testNullable~anonymous|0 (type $none_=>_i32) (result i32) i32.const 1 @@ -138,6 +144,7 @@ i32.const 24 local.get $x i32.add + return ) (func $function-expression/testGlobal (type $none_=>_none) (local $0 i32) @@ -183,6 +190,7 @@ i32.const 24 local.get $x i32.add + return ) (func $function-expression/testLocal (type $none_=>_none) (local $localFunc i32) @@ -247,6 +255,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -259,12 +268,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -422,6 +433,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -441,6 +453,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -558,6 +571,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -733,22 +747,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -773,16 +790,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -878,18 +898,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -913,18 +936,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -934,12 +960,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1087,22 +1116,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1147,16 +1179,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1211,10 +1246,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1330,6 +1368,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1512,6 +1551,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1746,6 +1786,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1824,6 +1865,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1839,6 +1881,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1929,16 +1972,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1971,16 +2017,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1994,46 +2043,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2070,10 +2126,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2193,30 +2252,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2287,6 +2352,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2299,6 +2365,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2361,6 +2428,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2443,6 +2511,7 @@ i32.const 24 local.get $x i32.add + return ) (func $function-expression/FieldClass#get:fieldFunc (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2450,9 +2519,11 @@ ) (func $function-expression/semanticallyAnonymous~fnDecl (type $i32_=>_i32) (param $val i32) (result i32) local.get $val + return ) (func $function-expression/semanticallyAnonymous~fnDecl|0 (type $i32_=>_i32) (param $val i32) (result i32) local.get $val + return ) (func $function-expression/semanticallyAnonymous (type $none_=>_none) (local $fnDecl i32) @@ -2985,6 +3056,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $function-expression/testLocal~anonymous|0 (type $none_=>_i32) (result i32) (local $myFunc i32) @@ -3008,6 +3080,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $function-expression/FieldClass#constructor (type $i32_i32_=>_i32) (param $this i32) (param $fieldFunc i32) (result i32) (local $2 i32) @@ -3062,5 +3135,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) ) diff --git a/tests/compiler/function-inline-regressions.debug.wat b/tests/compiler/function-inline-regressions.debug.wat index d7c137fc7f..ae9a49bce0 100644 --- a/tests/compiler/function-inline-regressions.debug.wat +++ b/tests/compiler/function-inline-regressions.debug.wat @@ -27,10 +27,12 @@ local.get $b i32.add i32.load $0 + return ) (func $function-inline-regressions/loadZ (type $none_=>_i32) (result i32) i32.const 16 i32.load $0 + return ) (func $function-inline-regressions/Struct#set:v0 (type $i32_i32_=>_none) (param $this i32) (param $v0 i32) local.get $this @@ -77,5 +79,6 @@ local.get $v2 call $function-inline-regressions/Struct#set:v2 local.get $z + return ) ) diff --git a/tests/compiler/function-types.debug.wat b/tests/compiler/function-types.debug.wat index ba80549d32..5c9df7afa6 100644 --- a/tests/compiler/function-types.debug.wat +++ b/tests/compiler/function-types.debug.wat @@ -27,25 +27,31 @@ local.get $a local.get $b i32.add + return ) (func $function-types/makeAdder (type $none_=>_i32) (result i32) i32.const 32 + return ) (func $function-types/makeAdder~anonymous|0 (type $i64_i64_=>_i64) (param $a i64) (param $b i64) (result i64) local.get $a local.get $b i64.add + return ) (func $function-types/makeAdder (type $none_=>_i32) (result i32) i32.const 128 + return ) (func $function-types/makeAdder~anonymous|0 (type $f64_f64_=>_f64) (param $a f64) (param $b f64) (result f64) local.get $a local.get $b f64.add + return ) (func $function-types/makeAdder (type $none_=>_i32) (result i32) i32.const 160 + return ) (func $function-types/doAddWithFn (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $fn i32) (result i32) local.get $a @@ -55,6 +61,7 @@ local.get $fn i32.load $0 call_indirect $0 (type $i32_i32_=>_i32) + return ) (func $function-types/doAdd (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -64,11 +71,13 @@ call $function-types/makeAdder i32.load $0 call_indirect $0 (type $i32_i32_=>_i32) + return ) (func $function-types/addI32 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.add + return ) (func $function-types/makeAndAdd (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $adder i32) (result i32) local.get $a @@ -78,6 +87,7 @@ local.get $adder i32.load $0 call_indirect $0 (type $i32_i32_=>_i32) + return ) (func $~start (type $none_=>_none) call $start:function-types diff --git a/tests/compiler/getter-call.debug.wat b/tests/compiler/getter-call.debug.wat index 0f506aec91..6e70e5da38 100644 --- a/tests/compiler/getter-call.debug.wat +++ b/tests/compiler/getter-call.debug.wat @@ -62,6 +62,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -74,12 +75,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -237,6 +240,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -256,6 +260,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -373,6 +378,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -548,22 +554,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -588,16 +597,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -693,18 +705,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -728,18 +743,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -749,12 +767,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -902,22 +923,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -962,16 +986,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1026,10 +1053,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1145,6 +1175,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1327,6 +1358,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1561,6 +1593,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1639,6 +1672,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1654,6 +1688,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1744,16 +1779,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1786,16 +1824,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1809,46 +1850,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1885,10 +1933,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2008,30 +2059,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2102,6 +2159,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2114,6 +2172,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2176,12 +2235,14 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $getter-call/C#get:x~anonymous|0 (type $none_=>_i32) (result i32) i32.const 42 ) (func $getter-call/C#get:x (type $i32_=>_i32) (param $this i32) (result i32) i32.const 432 + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -2382,5 +2443,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) ) diff --git a/tests/compiler/getter-call.release.wat b/tests/compiler/getter-call.release.wat index c757d4bce6..9b2873b923 100644 --- a/tests/compiler/getter-call.release.wat +++ b/tests/compiler/getter-call.release.wat @@ -1,9 +1,9 @@ (module (type $none_=>_i32 (func_subtype (result i32) func)) (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -82,6 +82,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34268 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1472 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1476 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1396,146 +1528,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34268 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1472 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1476 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/getter-setter.debug.wat b/tests/compiler/getter-setter.debug.wat index 12f7cb3373..3a9abf5ef1 100644 --- a/tests/compiler/getter-setter.debug.wat +++ b/tests/compiler/getter-setter.debug.wat @@ -16,6 +16,7 @@ (start $~start) (func $getter-setter/Foo.get:bar (type $none_=>_i32) (result i32) global.get $getter-setter/Foo._bar + return ) (func $getter-setter/Foo.set:bar (type $i32_=>_none) (param $bar i32) local.get $bar diff --git a/tests/compiler/heap.debug.wat b/tests/compiler/heap.debug.wat index 9f8502d719..0410204606 100644 --- a/tests/compiler/heap.debug.wat +++ b/tests/compiler/heap.debug.wat @@ -199,22 +199,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -239,16 +242,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -344,18 +350,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -379,18 +388,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -400,12 +412,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -553,22 +568,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -613,16 +631,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -677,10 +698,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -796,6 +820,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -961,6 +986,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -976,6 +1002,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1066,16 +1093,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1108,16 +1138,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1131,46 +1164,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1207,10 +1247,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -1330,30 +1373,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -1424,6 +1473,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -1436,10 +1486,12 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/memory/heap.alloc (type $i32_=>_i32) (param $size i32) (result i32) local.get $size call $~lib/rt/tlsf/__alloc + return ) (func $~lib/rt/tlsf/checkUsedBlock (type $i32_=>_i32) (param $ptr i32) (result i32) (local $block i32) @@ -1477,6 +1529,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1521,6 +1574,7 @@ call $~lib/rt/tlsf/freeBlock end local.get $newBlock + return ) (func $~lib/rt/tlsf/reallocateBlock (type $i32_i32_i32_=>_i32) (param $root i32) (param $block i32) (param $size i32) (result i32) (local $payloadSize i32) @@ -1555,18 +1609,21 @@ local.get $block return end - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.4 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.4 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1613,6 +1670,7 @@ local.get $block local.get $size call $~lib/rt/tlsf/moveBlock + return ) (func $~lib/rt/tlsf/__realloc (type $i32_i32_=>_i32) (param $ptr i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -1638,11 +1696,13 @@ end i32.const 4 i32.add + return ) (func $~lib/memory/heap.realloc (type $i32_i32_=>_i32) (param $ptr i32) (param $size i32) (result i32) local.get $ptr local.get $size call $~lib/rt/tlsf/__realloc + return ) (func $~lib/rt/tlsf/__free (type $i32_=>_none) (param $ptr i32) local.get $ptr diff --git a/tests/compiler/if.debug.wat b/tests/compiler/if.debug.wat index d89bcf97a2..5f6f476898 100644 --- a/tests/compiler/if.debug.wat +++ b/tests/compiler/if.debug.wat @@ -35,6 +35,7 @@ return end i32.const 0 + return ) (func $if/ifThenElseBlock (type $i32_=>_i32) (param $n i32) (result i32) local.get $n diff --git a/tests/compiler/import.debug.wat b/tests/compiler/import.debug.wat index 3dcdf0ef4e..b3743a0ee5 100644 --- a/tests/compiler/import.debug.wat +++ b/tests/compiler/import.debug.wat @@ -16,16 +16,19 @@ local.get $a local.get $b i32.add + return ) (func $export/sub (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.sub + return ) (func $export/mul (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.mul + return ) (func $export/ns.two (type $none_=>_none) nop diff --git a/tests/compiler/infer-array.debug.wat b/tests/compiler/infer-array.debug.wat index d1ea3dd884..a753a147d3 100644 --- a/tests/compiler/infer-array.debug.wat +++ b/tests/compiler/infer-array.debug.wat @@ -78,6 +78,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -90,12 +91,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -253,6 +256,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -272,6 +276,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -389,6 +394,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -564,22 +570,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -604,16 +613,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -709,18 +721,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -744,18 +759,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -765,12 +783,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -918,22 +939,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -978,16 +1002,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1042,10 +1069,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1161,6 +1191,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1343,6 +1374,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1577,6 +1609,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1655,6 +1688,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1670,6 +1704,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1760,16 +1795,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1802,16 +1840,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1825,46 +1866,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1901,10 +1949,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2024,30 +2075,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2118,6 +2175,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2130,6 +2188,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2192,6 +2251,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/__newBuffer (type $i32_i32_i32_=>_i32) (param $size i32) (param $id i32) (param $data i32) (result i32) (local $buffer i32) @@ -2207,6 +2267,7 @@ memory.copy $0 $0 end local.get $buffer + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2309,6 +2370,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2343,6 +2405,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2377,6 +2440,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2411,6 +2475,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2477,6 +2542,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array<~lib/array/Array>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -3539,6 +3605,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -3646,6 +3713,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/array/Array<~lib/string/String|null>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -3692,6 +3760,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/array/Array<~lib/array/Array>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -3748,5 +3817,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) ) diff --git a/tests/compiler/infer-array.release.wat b/tests/compiler/infer-array.release.wat index 01e116bda3..44773ea851 100644 --- a/tests/compiler/infer-array.release.wat +++ b/tests/compiler/infer-array.release.wat @@ -2049,17 +2049,17 @@ i32.const 2 i32.shl i32.add - local.set $3 + local.set $2 loop $while-continue|0 local.get $1 - local.get $3 + local.get $2 i32.lt_u if local.get $1 i32.load $0 - local.tee $2 + local.tee $3 if - local.get $2 + local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__visit end local.get $1 diff --git a/tests/compiler/infer-generic.debug.wat b/tests/compiler/infer-generic.debug.wat index 7c73b2ef44..e51ca9991e 100644 --- a/tests/compiler/infer-generic.debug.wat +++ b/tests/compiler/infer-generic.debug.wat @@ -60,6 +60,7 @@ local.get $a local.get $b f64.eq + return ) (func $start:infer-generic~anonymous|0 (type $i32_f32_i32_i32_=>_i32) (param $acc i32) (param $cur f32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc @@ -129,9 +130,11 @@ end end local.get $acc + return ) (func $infer-generic/inferDefault (type $i32_=>_i32) (param $a i32) (result i32) local.get $a + return ) (func $infer-generic/Ref#set:x (type $i32_i32_=>_none) (param $this i32) (param $x i32) local.get $this @@ -156,6 +159,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -168,12 +172,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -331,6 +337,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -350,6 +357,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -467,6 +475,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -642,22 +651,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -682,16 +694,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -787,18 +802,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -822,18 +840,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -843,12 +864,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -996,22 +1020,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1056,16 +1083,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1120,10 +1150,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1239,6 +1272,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1421,6 +1455,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1655,6 +1690,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1733,6 +1769,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1748,6 +1785,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1838,16 +1876,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1880,16 +1921,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1903,46 +1947,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1979,10 +2030,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2102,30 +2156,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2196,6 +2256,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2208,6 +2269,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2270,44 +2332,56 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $infer-generic/inferDefault (type $i32_=>_i32) (param $a i32) (result i32) local.get $a + return ) (func $infer-generic/inferPlain (type $f32_=>_f32) (param $arr f32) (result f32) local.get $arr + return ) (func $infer-generic/test1 (type $f32_=>_f32) (param $arr f32) (result f32) local.get $arr call $infer-generic/inferPlain + return ) (func $infer-generic/inferEncapsulatedClass (type $i32_=>_i32) (param $arr i32) (result i32) local.get $arr + return ) (func $infer-generic/test2 (type $i32_=>_i32) (param $arr i32) (result i32) local.get $arr call $infer-generic/inferEncapsulatedClass + return ) (func $infer-generic/inferEncapsulatedFunctionNull (type $i32_=>_i32) (param $fn i32) (result i32) local.get $fn + return ) (func $infer-generic/test3 (type $i32_=>_i32) (param $fn i32) (result i32) local.get $fn call $infer-generic/inferEncapsulatedFunctionNull + return ) (func $infer-generic/inferEncapsulatedFunction (type $i32_=>_i32) (param $fn i32) (result i32) local.get $fn + return ) (func $infer-generic/test4 (type $i32_=>_i32) (param $fn i32) (result i32) local.get $fn call $infer-generic/inferEncapsulatedFunction + return ) (func $infer-generic/inferEncapsulatedFunctionMixed (type $i32_=>_i32) (param $fn i32) (result i32) local.get $fn + return ) (func $infer-generic/test5 (type $i32_=>_i32) (param $fn i32) (result i32) local.get $fn call $infer-generic/inferEncapsulatedFunctionMixed + return ) (func $infer-generic/Ref#get:x (type $i32_=>_i32) (param $this i32) (result i32) local.get $this diff --git a/tests/compiler/infer-generic.release.wat b/tests/compiler/infer-generic.release.wat index 4e7db5833a..7e3d8d9510 100644 --- a/tests/compiler/infer-generic.release.wat +++ b/tests/compiler/infer-generic.release.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_f32_i32_i32_=>_i32 (func_subtype (param i32 f32 i32 i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) @@ -106,6 +106,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1296 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34428 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1296 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1296 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1616 + i32.load $0 + i32.gt_u + if + i32.const 1424 + i32.const 1488 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1620 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1699,146 +1831,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1296 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34428 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1296 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1296 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1616 - i32.load $0 - i32.gt_u - if - i32.const 1424 - i32.const 1488 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1620 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/infer-type.debug.wat b/tests/compiler/infer-type.debug.wat index a2a6bd5450..05e5a0ddc5 100644 --- a/tests/compiler/infer-type.debug.wat +++ b/tests/compiler/infer-type.debug.wat @@ -43,15 +43,19 @@ ) (func $infer-type/reti (type $none_=>_i32) (result i32) i32.const 0 + return ) (func $infer-type/retI (type $none_=>_i64) (result i64) i64.const 0 + return ) (func $infer-type/retf (type $none_=>_f32) (result f32) f32.const 0 + return ) (func $infer-type/refF (type $none_=>_f64) (result f64) f64.const 0 + return ) (func $start:infer-type (type $none_=>_none) (local $a i32) diff --git a/tests/compiler/inlining.debug.wat b/tests/compiler/inlining.debug.wat index d83b866120..4e0e5b7c99 100644 --- a/tests/compiler/inlining.debug.wat +++ b/tests/compiler/inlining.debug.wat @@ -50,6 +50,7 @@ global.get $inlining/constantGlobal i32.const 2 i32.add + return ) (func $inlining/func_fe~anonymous|0 (type $i32_=>_i32) (param $a i32) (result i32) local.get $a @@ -111,6 +112,7 @@ else i32.const 3 end + br $inlining/func_ii|inlined.0 end i32.const 1 i32.eq @@ -133,6 +135,7 @@ else i32.const 3 end + br $inlining/func_ii|inlined.1 end i32.const 2 i32.eq @@ -155,63 +158,82 @@ else i32.const 3 end + br $inlining/func_ii|inlined.2 end i32.const 3 i32.eq drop - i32.const 0 - local.set $a|5 - local.get $a|5 + block $inlining/func_ii_opt|inlined.0 (result i32) + i32.const 0 + local.set $a|5 + local.get $a|5 + br $inlining/func_ii_opt|inlined.0 + end i32.const 0 i32.eq drop - i32.const 1 - local.set $a|6 - local.get $a|6 + block $inlining/func_ii_opt|inlined.1 (result i32) + i32.const 1 + local.set $a|6 + local.get $a|6 + br $inlining/func_ii_opt|inlined.1 + end i32.const 1 i32.eq drop - i32.const 1 - local.set $a|7 - local.get $a|7 - local.set $a|8 - local.get $a|8 + block $inlining/func_ii_opt|inlined.3 (result i32) + block $inlining/func_ii_opt|inlined.2 (result i32) + i32.const 1 + local.set $a|7 + local.get $a|7 + br $inlining/func_ii_opt|inlined.2 + end + local.set $a|8 + local.get $a|8 + br $inlining/func_ii_opt|inlined.3 + end i32.const 1 i32.eq drop - i32.const 2 - local.set $a|9 - local.get $a|9 - local.set $b|10 - i32.const 1 - drop - local.get $b|10 - local.set $c - local.get $c - local.set $d - local.get $d - i32.const 1 - i32.add - local.set $e - local.get $e + block $inlining/func_ii_loc|inlined.0 (result i32) + i32.const 2 + local.set $a|9 + local.get $a|9 + local.set $b|10 + i32.const 1 + drop + local.get $b|10 + local.set $c + local.get $c + local.set $d + local.get $d + i32.const 1 + i32.add + local.set $e + local.get $e + br $inlining/func_ii_loc|inlined.0 + end i32.const 3 i32.eq drop - i32.const 3 - local.set $a|14 - local.get $a|14 - local.set $b|15 - i32.const 1 - drop - local.get $b|15 - local.set $c|17 - local.get $c|17 - local.set $d|18 - local.get $d|18 - i32.const 1 - i32.add - local.set $e|16 - local.get $e|16 + block $inlining/func_ii_loc|inlined.1 (result i32) + i32.const 3 + local.set $a|14 + local.get $a|14 + local.set $b|15 + i32.const 1 + drop + local.get $b|15 + local.set $c|17 + local.get $c|17 + local.set $d|18 + local.get $d|18 + i32.const 1 + i32.add + local.set $e|16 + local.get $e|16 + br $inlining/func_ii_loc|inlined.1 + end i32.const 4 i32.eq drop @@ -220,7 +242,10 @@ i32.const 2 i32.const 1 global.set $~argumentsLength - i32.const 80 + block $inlining/func_fe|inlined.0 (result i32) + i32.const 80 + br $inlining/func_fe|inlined.0 + end i32.load $0 call_indirect $0 (type $i32_=>_i32) i32.const 2 @@ -234,13 +259,16 @@ call $~lib/builtins/abort unreachable end - i32.const 42 - local.set $a|20 - i32.const 2 - local.set $b|21 - local.get $a|20 - local.get $b|21 - i32.add + block $inlining/Foo.method_static|inlined.0 (result i32) + i32.const 42 + local.set $a|20 + i32.const 2 + local.set $b|21 + local.get $a|20 + local.get $b|21 + i32.add + br $inlining/Foo.method_static|inlined.0 + end i32.const 44 i32.eq drop @@ -248,13 +276,16 @@ i32.const 123 local.tee $foo i32.store $0 - local.get $foo - local.set $this - i32.const 43 - local.set $a|24 - i32.const 3 - local.set $b|25 - local.get $this + block $inlining/Foo#method_this|inlined.0 (result i32) + local.get $foo + local.set $this + i32.const 43 + local.set $a|24 + i32.const 3 + local.set $b|25 + local.get $this + br $inlining/Foo#method_this|inlined.0 + end i32.const 123 i32.eq i32.eqz @@ -294,6 +325,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -306,12 +338,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -469,6 +503,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -488,6 +523,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -605,6 +641,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -780,22 +817,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -820,16 +860,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -925,18 +968,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -960,18 +1006,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -981,12 +1030,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1134,22 +1186,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1194,16 +1249,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1258,10 +1316,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1377,6 +1438,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1559,6 +1621,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1793,6 +1856,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1871,6 +1935,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1886,6 +1951,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1976,16 +2042,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -2018,16 +2087,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -2041,46 +2113,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2117,10 +2196,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2240,30 +2322,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2334,6 +2422,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2346,6 +2435,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2408,6 +2498,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $inlining/Baz#set:a (type $i32_i32_=>_none) (param $this i32) (param $a i32) local.get $this diff --git a/tests/compiler/inlining.release.wat b/tests/compiler/inlining.release.wat index 1cd2615205..1229484b81 100644 --- a/tests/compiler/inlining.release.wat +++ b/tests/compiler/inlining.release.wat @@ -1,10 +1,10 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -92,6 +92,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1200 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34324 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1200 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1200 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1520 + i32.load $0 + i32.gt_u + if + i32.const 1328 + i32.const 1392 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1524 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1608,146 +1740,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1200 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34324 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1200 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1200 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1520 - i32.load $0 - i32.gt_u - if - i32.const 1328 - i32.const 1392 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1524 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/instanceof.debug.wat b/tests/compiler/instanceof.debug.wat index 8dbcb638af..10167dda24 100644 --- a/tests/compiler/instanceof.debug.wat +++ b/tests/compiler/instanceof.debug.wat @@ -79,6 +79,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -91,12 +92,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -254,6 +257,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -273,6 +277,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -390,6 +395,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -565,22 +571,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -605,16 +614,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -710,18 +722,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -745,18 +760,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -766,12 +784,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -919,22 +940,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -979,16 +1003,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1043,10 +1070,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1162,6 +1192,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1344,6 +1375,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1578,6 +1610,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1656,6 +1689,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1671,6 +1705,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1761,16 +1796,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1803,16 +1841,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1826,46 +1867,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1902,10 +1950,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2025,30 +2076,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2119,6 +2176,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2131,6 +2189,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2193,6 +2252,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $instanceof/isI32 (type $i32_=>_i32) (param $v i32) (result i32) i32.const 1 diff --git a/tests/compiler/instanceof.release.wat b/tests/compiler/instanceof.release.wat index 98e9a4cab5..285a61dcad 100644 --- a/tests/compiler/instanceof.release.wat +++ b/tests/compiler/instanceof.release.wat @@ -1,9 +1,9 @@ (module (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -156,6 +156,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34316 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1488 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -2278,146 +2410,18 @@ local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34316 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1492 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/issues/1095.debug.wat b/tests/compiler/issues/1095.debug.wat index 56990c513e..9b48a480b0 100644 --- a/tests/compiler/issues/1095.debug.wat +++ b/tests/compiler/issues/1095.debug.wat @@ -62,6 +62,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -74,12 +75,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -237,6 +240,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -256,6 +260,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -373,6 +378,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -548,22 +554,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -588,16 +597,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -693,18 +705,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -728,18 +743,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -749,12 +767,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -902,22 +923,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -962,16 +986,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1026,10 +1053,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1145,6 +1175,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1327,6 +1358,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1561,6 +1593,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1639,6 +1672,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1654,6 +1688,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1744,16 +1779,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1786,16 +1824,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1809,46 +1850,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1885,10 +1933,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2008,30 +2059,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2102,6 +2159,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2114,6 +2172,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2176,6 +2235,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) diff --git a/tests/compiler/issues/1225.debug.wat b/tests/compiler/issues/1225.debug.wat index f3f8da7e7f..09b922011e 100644 --- a/tests/compiler/issues/1225.debug.wat +++ b/tests/compiler/issues/1225.debug.wat @@ -77,6 +77,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -89,12 +90,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -252,6 +255,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -271,6 +275,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -388,6 +393,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -563,22 +569,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -603,16 +612,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -708,18 +720,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -743,18 +758,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -764,12 +782,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -917,22 +938,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -977,16 +1001,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1041,10 +1068,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1160,6 +1190,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1342,6 +1373,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1576,6 +1608,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1654,6 +1687,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1669,6 +1703,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1759,16 +1794,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1801,16 +1839,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1824,46 +1865,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1900,10 +1948,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2023,30 +2074,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2117,6 +2174,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2129,6 +2187,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2191,6 +2250,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $issues/1225/X#set:x (type $i32_i32_=>_none) (param $this i32) (param $x i32) local.get $this @@ -2401,6 +2461,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $0 + return ) (func $issues/1225/viaThis (type $none_=>_i32) (result i32) (local $0 i32) @@ -2425,6 +2486,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $0 + return ) (func $issues/1225/X#constructor (type $i32_i32_=>_i32) (param $this i32) (param $x i32) (result i32) (local $2 i32) diff --git a/tests/compiler/issues/1225.release.wat b/tests/compiler/issues/1225.release.wat index e941f46660..78eedce45f 100644 --- a/tests/compiler/issues/1225.release.wat +++ b/tests/compiler/issues/1225.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_i32 (func_subtype (result i32) func)) (type $none_=>_none (func_subtype func)) - (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) @@ -88,6 +88,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34280 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1488 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1475,146 +1607,18 @@ local.get $1 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34280 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1492 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/issues/1699.debug.wat b/tests/compiler/issues/1699.debug.wat index 95e488f3a2..1ea00f4eed 100644 --- a/tests/compiler/issues/1699.debug.wat +++ b/tests/compiler/issues/1699.debug.wat @@ -64,6 +64,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -76,12 +77,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -239,6 +242,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -258,6 +262,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -375,6 +380,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -550,22 +556,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -590,16 +599,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -695,18 +707,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -730,18 +745,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -751,12 +769,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -904,22 +925,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -964,16 +988,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1028,10 +1055,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1147,6 +1177,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1329,6 +1360,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1563,6 +1595,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1641,6 +1674,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1656,6 +1690,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1746,16 +1781,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1788,16 +1826,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1811,46 +1852,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1887,10 +1935,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2010,30 +2061,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2104,6 +2161,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2116,6 +2174,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2178,6 +2237,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2336,6 +2396,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) (local $oldCapacity i32) @@ -2491,6 +2552,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $start:issues/1699 (type $none_=>_none) memory.size $0 @@ -2970,5 +3032,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) ) diff --git a/tests/compiler/issues/1699.release.wat b/tests/compiler/issues/1699.release.wat index 383786e450..94c9b26798 100644 --- a/tests/compiler/issues/1699.release.wat +++ b/tests/compiler/issues/1699.release.wat @@ -1662,10 +1662,10 @@ (local $1 i32) (local $2 i32) (local $3 i32) - block $folding-inner0 - block $invalid - block $~lib/array/Array - block $issues/1699/MultiAssignmentTest + block $invalid + block $~lib/array/Array + block $issues/1699/MultiAssignmentTest + block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer block $~lib/object/Object @@ -1673,7 +1673,7 @@ i32.const 8 i32.sub i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $issues/1699/MultiAssignmentTest $~lib/array/Array $invalid + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1699/MultiAssignmentTest $~lib/array/Array $invalid end return end @@ -1681,47 +1681,55 @@ end return end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end return end - local.get $0 - i32.load $0 offset=4 - local.tee $1 - local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 + return + end + local.get $0 + i32.load $0 offset=4 + local.tee $1 + local.get $0 + i32.load $0 offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.lt_u + if local.get $1 - local.get $3 - i32.lt_u + i32.load $0 + local.tee $3 if - local.get $1 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 end - br $folding-inner0 end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return end + unreachable ) (func $~start (type $none_=>_none) (local $0 i32) diff --git a/tests/compiler/issues/1714.debug.wat b/tests/compiler/issues/1714.debug.wat index 8879646343..04bea1a3d3 100644 --- a/tests/compiler/issues/1714.debug.wat +++ b/tests/compiler/issues/1714.debug.wat @@ -24,16 +24,19 @@ i32.const 8 i32.const 4 i32.eq + return ) (func $issues/1714/foo (type $none_=>_i32) (result i32) call $issues/1714/a_i64_i32 i32.const 1 i32.eq + return ) (func $issues/1714/bar (type $none_=>_i32) (result i32) i32.const 0 drop i32.const 80 + return ) (func $issues/1714/bar (type $none_=>_i32) (result i32) i32.const 1 @@ -52,6 +55,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -155,6 +159,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -197,6 +202,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~start (type $none_=>_none) call $start:issues/1714 diff --git a/tests/compiler/issues/2166.debug.wat b/tests/compiler/issues/2166.debug.wat index 5f33137e75..53e6ae7e2b 100644 --- a/tests/compiler/issues/2166.debug.wat +++ b/tests/compiler/issues/2166.debug.wat @@ -66,6 +66,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -78,12 +79,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -241,6 +244,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -260,6 +264,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -377,6 +382,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -552,22 +558,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -592,16 +601,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -697,18 +709,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -732,18 +747,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -753,12 +771,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -906,22 +927,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -966,16 +990,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1030,10 +1057,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1149,6 +1179,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1331,6 +1362,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1565,6 +1597,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1643,6 +1676,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1658,6 +1692,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1748,16 +1783,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1790,16 +1828,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1813,46 +1854,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1889,10 +1937,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2012,30 +2063,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2106,6 +2163,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2118,6 +2176,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2180,6 +2239,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2192,6 +2252,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2295,6 +2356,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2337,6 +2399,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) diff --git a/tests/compiler/issues/2166.release.wat b/tests/compiler/issues/2166.release.wat index 3c410661bc..98209742d1 100644 --- a/tests/compiler/issues/2166.release.wat +++ b/tests/compiler/issues/2166.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -88,6 +88,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34428 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1632 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1636 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1657,146 +1789,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34428 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1632 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1636 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/issues/2322/index.debug.wat b/tests/compiler/issues/2322/index.debug.wat index 2d4e096074..52f5ad6c6e 100644 --- a/tests/compiler/issues/2322/index.debug.wat +++ b/tests/compiler/issues/2322/index.debug.wat @@ -60,6 +60,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -72,12 +73,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -235,6 +238,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -254,6 +258,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -371,6 +376,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -546,22 +552,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -586,16 +595,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -691,18 +703,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -726,18 +741,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -747,12 +765,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -900,22 +921,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -960,16 +984,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1024,10 +1051,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1143,6 +1173,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1325,6 +1356,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1559,6 +1591,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1637,6 +1670,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1652,6 +1686,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1742,16 +1777,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1784,16 +1822,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1807,46 +1848,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1883,10 +1931,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2006,30 +2057,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2100,6 +2157,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2112,6 +2170,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2174,6 +2233,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $issues/2322/lib/Wrapper#set:v (type $i32_i32_=>_none) (param $this i32) (param $v i32) local.get $this diff --git a/tests/compiler/issues/2322/index.release.wat b/tests/compiler/issues/2322/index.release.wat index e7cac35cc6..e8b1f66def 100644 --- a/tests/compiler/issues/2322/index.release.wat +++ b/tests/compiler/issues/2322/index.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -78,6 +78,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34232 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1440 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1520,146 +1652,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34232 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1444 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/logical.debug.wat b/tests/compiler/logical.debug.wat index 0f58eef3a6..67c7bf41e8 100644 --- a/tests/compiler/logical.debug.wat +++ b/tests/compiler/logical.debug.wat @@ -56,6 +56,7 @@ else i32.const 0 end + return ) (func $logical/testShortcutOr (type $i64_i32_=>_i32) (param $a i64) (param $b i32) (result i32) local.get $a @@ -66,6 +67,7 @@ else local.get $b end + return ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this @@ -85,6 +87,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -97,12 +100,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -260,6 +265,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -279,6 +285,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -396,6 +403,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -571,22 +579,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -611,16 +622,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -716,18 +730,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -751,18 +768,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -772,12 +792,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -925,22 +948,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -985,16 +1011,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1049,10 +1078,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1168,6 +1200,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1350,6 +1383,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1584,6 +1618,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1662,6 +1697,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1677,6 +1713,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1767,16 +1804,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1809,16 +1849,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1832,46 +1875,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1908,10 +1958,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2031,30 +2084,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2125,6 +2184,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2137,6 +2197,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2199,6 +2260,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $logical/testContextualBoolAnd (type $i32_i32_=>_i32) (param $someObj i32) (param $someInt i32) (result i32) local.get $someObj @@ -2207,6 +2269,7 @@ else i32.const 0 end + return ) (func $logical/testContextualBoolOr (type $i32_i32_=>_i32) (param $someObj i32) (param $someInt i32) (result i32) local.get $someObj @@ -2215,6 +2278,7 @@ else local.get $someInt end + return ) (func $~lib/rt/itcms/__collect (type $none_=>_none) i32.const 0 diff --git a/tests/compiler/logical.release.wat b/tests/compiler/logical.release.wat index 185e7217ee..f872da9d51 100644 --- a/tests/compiler/logical.release.wat +++ b/tests/compiler/logical.release.wat @@ -1,9 +1,9 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -79,6 +79,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34280 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1488 + i32.load $0 + i32.gt_u + if + i32.const 1296 + i32.const 1360 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1444,146 +1576,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34280 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1296 - i32.const 1360 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1492 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/managed-cast.debug.wat b/tests/compiler/managed-cast.debug.wat index 738bbb76ca..242644deb4 100644 --- a/tests/compiler/managed-cast.debug.wat +++ b/tests/compiler/managed-cast.debug.wat @@ -62,6 +62,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -74,12 +75,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -237,6 +240,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -256,6 +260,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -373,6 +378,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -548,22 +554,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -588,16 +597,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -693,18 +705,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -728,18 +743,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -749,12 +767,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -902,22 +923,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -962,16 +986,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1026,10 +1053,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1145,6 +1175,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1327,6 +1358,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1561,6 +1593,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1639,6 +1672,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1654,6 +1688,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1744,16 +1779,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1786,16 +1824,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1809,46 +1850,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1885,10 +1933,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2008,30 +2059,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2102,6 +2159,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2114,6 +2172,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2176,6 +2235,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $managed-cast/Animal#tame (type $i32_=>_none) (param $this i32) nop diff --git a/tests/compiler/managed-cast.release.wat b/tests/compiler/managed-cast.release.wat index 6582f682b7..36404dd0e6 100644 --- a/tests/compiler/managed-cast.release.wat +++ b/tests/compiler/managed-cast.release.wat @@ -1,9 +1,9 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -83,6 +83,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34492 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1696 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1700 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1681,146 +1813,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34492 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1696 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1700 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/many-locals.debug.wat b/tests/compiler/many-locals.debug.wat index a300cb64ad..d7a44bfb9c 100644 --- a/tests/compiler/many-locals.debug.wat +++ b/tests/compiler/many-locals.debug.wat @@ -400,6 +400,7 @@ local.get $a7E local.set $a7F local.get $a7F + return ) (func $many-locals/testI8 (type $i32_=>_i32) (param $a i32) (result i32) (local $a00 i32) @@ -788,6 +789,7 @@ local.set $a7F local.get $a7F i32.extend8_s + return ) (func $start:many-locals (type $none_=>_none) i32.const 42 diff --git a/tests/compiler/memcpy.debug.wat b/tests/compiler/memcpy.debug.wat index 576039facc..6391a363e0 100644 --- a/tests/compiler/memcpy.debug.wat +++ b/tests/compiler/memcpy.debug.wat @@ -1110,6 +1110,7 @@ i32.store8 $0 end local.get $ret + return ) (func $start:memcpy (type $none_=>_none) global.get $memcpy/base diff --git a/tests/compiler/memmove.debug.wat b/tests/compiler/memmove.debug.wat index 1a7d0c0304..1ba594c44b 100644 --- a/tests/compiler/memmove.debug.wat +++ b/tests/compiler/memmove.debug.wat @@ -198,6 +198,7 @@ end end local.get $ret + return ) (func $start:memmove (type $none_=>_none) global.get $memmove/base diff --git a/tests/compiler/memory.debug.wat b/tests/compiler/memory.debug.wat index 5cd823a88c..c36330b530 100644 --- a/tests/compiler/memory.debug.wat +++ b/tests/compiler/memory.debug.wat @@ -48,21 +48,27 @@ i32.add i32.store $0 local.get $value + return ) (func $memory/testGeneric (type $none_=>_i32) (result i32) i32.const 144 + return ) (func $memory/testGeneric (type $none_=>_i32) (result i32) i32.const 152 + return ) (func $memory/testGeneric (type $none_=>_i32) (result i32) i32.const 156 + return ) (func $memory/testGeneric (type $none_=>_i32) (result i32) i32.const 158 + return ) (func $memory/testGeneric (type $none_=>_i32) (result i32) i32.const 159 + return ) (func $start:memory (type $none_=>_none) call $memory/test diff --git a/tests/compiler/memset.debug.wat b/tests/compiler/memset.debug.wat index 186024fa5d..7277b5d2da 100644 --- a/tests/compiler/memset.debug.wat +++ b/tests/compiler/memset.debug.wat @@ -272,6 +272,7 @@ end end local.get $ret + return ) (func $start:memset (type $none_=>_none) global.get $~lib/memory/__heap_base diff --git a/tests/compiler/named-export-default.debug.wat b/tests/compiler/named-export-default.debug.wat index 13a93967c7..a8e8046165 100644 --- a/tests/compiler/named-export-default.debug.wat +++ b/tests/compiler/named-export-default.debug.wat @@ -10,5 +10,6 @@ (export "memory" (memory $0)) (func $named-export-default/get3 (type $none_=>_i32) (result i32) i32.const 3 + return ) ) diff --git a/tests/compiler/named-import-default.debug.wat b/tests/compiler/named-import-default.debug.wat index 6a29f7c377..ff44e8bf48 100644 --- a/tests/compiler/named-import-default.debug.wat +++ b/tests/compiler/named-import-default.debug.wat @@ -10,8 +10,10 @@ (export "memory" (memory $0)) (func $named-export-default/get3 (type $none_=>_i32) (result i32) i32.const 3 + return ) (func $named-import-default/getValue (type $none_=>_i32) (result i32) call $named-export-default/get3 + return ) ) diff --git a/tests/compiler/namespace.debug.wat b/tests/compiler/namespace.debug.wat index da2d2bfb7d..33508a9876 100644 --- a/tests/compiler/namespace.debug.wat +++ b/tests/compiler/namespace.debug.wat @@ -17,9 +17,11 @@ (start $~start) (func $namespace/Outer.Inner.aFunc (type $none_=>_i32) (result i32) global.get $namespace/Outer.Inner.aVar + return ) (func $namespace/Joined.anotherFunc (type $none_=>_i32) (result i32) i32.const 3 + return ) (func $start:namespace (type $none_=>_none) global.get $namespace/Outer.Inner.aVar diff --git a/tests/compiler/new.debug.wat b/tests/compiler/new.debug.wat index ca83521778..984fd16dda 100644 --- a/tests/compiler/new.debug.wat +++ b/tests/compiler/new.debug.wat @@ -65,6 +65,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -77,12 +78,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -240,6 +243,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -259,6 +263,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -376,6 +381,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -551,22 +557,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -591,16 +600,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -696,18 +708,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -731,18 +746,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -752,12 +770,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -905,22 +926,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -965,16 +989,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1029,10 +1056,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1148,6 +1178,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1330,6 +1361,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1564,6 +1596,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1642,6 +1675,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1657,6 +1691,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1747,16 +1782,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1789,16 +1827,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1812,46 +1853,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1888,10 +1936,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2011,30 +2062,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2105,6 +2162,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2117,6 +2175,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2179,15 +2238,19 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $new/Ref#get:ref (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + return ) (func $new/Gen#get:gen (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + return ) (func $new/ns.Ref#get:ref (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) diff --git a/tests/compiler/new.release.wat b/tests/compiler/new.release.wat index 69a8a5465f..af7103962c 100644 --- a/tests/compiler/new.release.wat +++ b/tests/compiler/new.release.wat @@ -2,8 +2,8 @@ (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $none_=>_none (func_subtype func)) - (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -119,6 +119,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34244 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1440 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1591,146 +1723,18 @@ local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34244 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1444 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/object-literal.debug.wat b/tests/compiler/object-literal.debug.wat index 0069c7e19d..c78f35d752 100644 --- a/tests/compiler/object-literal.debug.wat +++ b/tests/compiler/object-literal.debug.wat @@ -70,6 +70,7 @@ call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/Object#get:prev (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -82,6 +83,7 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#set:prev (type $i32_i32_=>_none) (param $this i32) (param $prev i32) local.get $this @@ -167,6 +169,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:rtId (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -200,6 +203,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -219,6 +223,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -467,6 +472,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -642,22 +648,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -682,16 +691,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -787,18 +799,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -822,18 +837,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -843,12 +861,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -996,22 +1017,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1056,16 +1080,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1120,10 +1147,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1239,6 +1269,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1421,6 +1452,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1655,6 +1687,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1733,6 +1766,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1748,6 +1782,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1838,16 +1873,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1880,16 +1918,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1903,46 +1944,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1979,10 +2027,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2102,30 +2153,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2196,6 +2253,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2208,6 +2266,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2270,6 +2329,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $object-literal/Managed#get:bar (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2290,6 +2350,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2393,6 +2454,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2435,6 +2497,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $object-literal/Unmanaged#set:bar (type $i32_i32_=>_none) (param $this i32) (param $bar i32) local.get $this @@ -4019,6 +4082,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $22 + return ) (func $object-literal/OmittedTypes#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) diff --git a/tests/compiler/object-literal.release.wat b/tests/compiler/object-literal.release.wat index a9f4940259..4100107c86 100644 --- a/tests/compiler/object-literal.release.wat +++ b/tests/compiler/object-literal.release.wat @@ -1935,33 +1935,33 @@ i32.load $0 i32.const 1 i32.shr_u - local.tee $0 - local.get $0 + local.tee $3 + local.get $3 i32.const 5 i32.gt_u select - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.le_s select i32.const 1 i32.shl - local.set $3 + local.set $1 block $__inlined_func$~lib/string/String#substring - local.get $1 + local.get $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.ge_s select i32.const 1 i32.shl - local.tee $4 - local.get $3 + local.tee $0 + local.get $1 i32.sub - local.tee $1 + local.tee $4 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -1972,10 +1972,10 @@ local.set $0 br $__inlined_func$~lib/string/String#substring end - local.get $3 + local.get $1 i32.eqz - local.get $4 local.get $0 + local.get $3 i32.const 1 i32.shl i32.eq @@ -1990,16 +1990,16 @@ br $__inlined_func$~lib/string/String#substring end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.const 2 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 local.get $0 - local.get $3 + local.get $1 i32.const 1056 i32.add - local.get $1 + local.get $4 memory.copy $0 $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2545,9 +2545,10 @@ i32.const 0 i32.store $0 offset=32 global.get $~lib/memory/__stack_pointer + local.tee $0 local.get $1 i32.store $0 - global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2811,25 +2812,6 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - call $~lib/rt/itcms/Object#makeGray - global.get $~lib/rt/itcms/visitCount - i32.const 1 - i32.add - global.set $~lib/rt/itcms/visitCount - end - ) (func $byn-split-outlined-A$~lib/rt/itcms/__link (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 i32.eqz @@ -2879,4 +2861,23 @@ end end ) + (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end + ) ) diff --git a/tests/compiler/optional-typeparameters.debug.wat b/tests/compiler/optional-typeparameters.debug.wat index 27c61f78aa..ec01a9c1b1 100644 --- a/tests/compiler/optional-typeparameters.debug.wat +++ b/tests/compiler/optional-typeparameters.debug.wat @@ -48,9 +48,11 @@ (start $~start) (func $optional-typeparameters/testConcrete (type $i32_=>_i32) (param $a i32) (result i32) local.get $a + return ) (func $optional-typeparameters/testDerived (type $i32_=>_i32) (param $a i32) (result i32) local.get $a + return ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this @@ -70,6 +72,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -82,12 +85,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -245,6 +250,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -264,6 +270,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -381,6 +388,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -556,22 +564,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -596,16 +607,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -701,18 +715,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -736,18 +753,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -757,12 +777,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -910,22 +933,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -970,16 +996,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1034,10 +1063,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1153,6 +1185,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1335,6 +1368,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1569,6 +1603,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1647,6 +1682,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1662,6 +1698,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1752,16 +1789,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1794,16 +1834,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1817,46 +1860,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1893,10 +1943,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2016,30 +2069,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2110,6 +2169,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2122,6 +2182,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2184,16 +2245,19 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $optional-typeparameters/TestConcrete#test (type $i32_i32_i32_=>_i32) (param $this i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.add + return ) (func $optional-typeparameters/TestDerived#test (type $i32_f64_f64_=>_f64) (param $this i32) (param $a f64) (param $b f64) (result f64) local.get $a local.get $b f64.add + return ) (func $optional-typeparameters/TestMethodDerived<~lib/string/String>#test<~lib/array/Array<~lib/string/String>> (type $i32_=>_none) (param $this i32) i32.const 7 diff --git a/tests/compiler/optional-typeparameters.release.wat b/tests/compiler/optional-typeparameters.release.wat index e03386be8f..8e90a5aee4 100644 --- a/tests/compiler/optional-typeparameters.release.wat +++ b/tests/compiler/optional-typeparameters.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -105,6 +105,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34248 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1440 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1256,13 +1388,13 @@ (local $1 i32) (local $2 i32) (local $3 i32) - block $folding-inner0 - block $invalid - block $optional-typeparameters/TestMethodDerived2 - block $~lib/array/Array<~lib/string/String> - block $optional-typeparameters/TestMethodDerived<~lib/string/String> - block $optional-typeparameters/TestDerived - block $optional-typeparameters/TestConcrete + block $invalid + block $optional-typeparameters/TestMethodDerived2 + block $~lib/array/Array<~lib/string/String> + block $optional-typeparameters/TestMethodDerived<~lib/string/String> + block $optional-typeparameters/TestDerived + block $optional-typeparameters/TestConcrete + block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer block $~lib/object/Object @@ -1270,7 +1402,7 @@ i32.const 8 i32.sub i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $optional-typeparameters/TestConcrete $optional-typeparameters/TestDerived $optional-typeparameters/TestMethodDerived<~lib/string/String> $~lib/array/Array<~lib/string/String> $optional-typeparameters/TestMethodDerived2 $invalid + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $optional-typeparameters/TestConcrete $optional-typeparameters/TestDerived $optional-typeparameters/TestMethodDerived<~lib/string/String> $~lib/array/Array<~lib/string/String> $optional-typeparameters/TestMethodDerived2 $invalid end return end @@ -1278,53 +1410,61 @@ end return end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end return end return end return end - local.get $0 - i32.load $0 offset=4 - local.tee $1 - local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 + return + end + local.get $0 + i32.load $0 offset=4 + local.tee $1 + local.get $0 + i32.load $0 offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.lt_u + if local.get $1 - local.get $3 - i32.lt_u + i32.load $0 + local.tee $3 if - local.get $1 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 end - br $folding-inner0 + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end return end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + return end + unreachable ) (func $~start (type $none_=>_none) (local $0 i32) @@ -1548,146 +1688,18 @@ local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34248 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1444 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 - local.get $0 - local.get $1 local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/possibly-null.debug.wat b/tests/compiler/possibly-null.debug.wat index 7f293a8fd9..1d27df7a39 100644 --- a/tests/compiler/possibly-null.debug.wat +++ b/tests/compiler/possibly-null.debug.wat @@ -168,6 +168,7 @@ ) (func $possibly-null/requireNonNull (type $i32_=>_i32) (param $a i32) (result i32) local.get $a + return ) (func $possibly-null/testLogicalAnd (type $i32_=>_none) (param $a i32) local.get $a diff --git a/tests/compiler/recursive.debug.wat b/tests/compiler/recursive.debug.wat index ad54b46d04..d9811176f0 100644 --- a/tests/compiler/recursive.debug.wat +++ b/tests/compiler/recursive.debug.wat @@ -25,5 +25,6 @@ i32.sub call $recursive/fib i32.add + return ) ) diff --git a/tests/compiler/reexport.debug.wat b/tests/compiler/reexport.debug.wat index 576f296b93..0f360c6224 100644 --- a/tests/compiler/reexport.debug.wat +++ b/tests/compiler/reexport.debug.wat @@ -69,16 +69,19 @@ local.get $a local.get $b i32.add + return ) (func $export/mul (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.mul + return ) (func $exports/add (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.add + return ) (func $exports/Car#set:doors (type $i32_i32_=>_none) (param $this i32) (param $doors i32) local.get $this @@ -103,6 +106,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -115,12 +119,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -278,6 +284,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -297,6 +304,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -414,6 +422,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -589,22 +598,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -629,16 +641,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -734,18 +749,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -769,18 +787,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -790,12 +811,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -943,22 +967,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1003,16 +1030,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1067,10 +1097,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1186,6 +1219,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1368,6 +1402,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1602,6 +1637,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1680,6 +1716,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1695,6 +1732,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1785,16 +1823,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1827,16 +1868,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1850,46 +1894,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1926,10 +1977,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2049,30 +2103,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2143,6 +2203,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2155,6 +2216,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2217,6 +2279,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $exports/Car#get:doors (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2225,11 +2288,13 @@ (func $exports/Car#get:numDoors (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $exports/Car#get:doors + return ) (func $export/sub (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.sub + return ) (func $export-default/theDefault (type $none_=>_none) nop diff --git a/tests/compiler/reexport.release.wat b/tests/compiler/reexport.release.wat index 812714a0b3..f872518e3b 100644 --- a/tests/compiler/reexport.release.wat +++ b/tests/compiler/reexport.release.wat @@ -1,9 +1,9 @@ (module (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) @@ -112,6 +112,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34280 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1488 + i32.load $0 + i32.gt_u + if + i32.const 1296 + i32.const 1360 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1403,146 +1535,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34280 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1296 - i32.const 1360 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1492 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/rereexport.debug.wat b/tests/compiler/rereexport.debug.wat index 8e77fbb040..332f0ab444 100644 --- a/tests/compiler/rereexport.debug.wat +++ b/tests/compiler/rereexport.debug.wat @@ -62,16 +62,19 @@ local.get $a local.get $b i32.add + return ) (func $export/mul (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.mul + return ) (func $exports/add (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.add + return ) (func $exports/Car#set:doors (type $i32_i32_=>_none) (param $this i32) (param $doors i32) local.get $this @@ -96,6 +99,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -108,12 +112,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -271,6 +277,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -290,6 +297,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -407,6 +415,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -582,22 +591,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -622,16 +634,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -727,18 +742,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -762,18 +780,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -783,12 +804,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -936,22 +960,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -996,16 +1023,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1060,10 +1090,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1179,6 +1212,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1361,6 +1395,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1595,6 +1630,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1673,6 +1709,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1688,6 +1725,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1778,16 +1816,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1820,16 +1861,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1843,46 +1887,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1919,10 +1970,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2042,30 +2096,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2136,6 +2196,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2148,6 +2209,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2210,6 +2272,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $exports/Car#get:doors (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2218,6 +2281,7 @@ (func $exports/Car#get:numDoors (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $exports/Car#get:doors + return ) (func $export-default/theDefault (type $none_=>_none) nop diff --git a/tests/compiler/rereexport.release.wat b/tests/compiler/rereexport.release.wat index 1d24e1514c..84f94c71a3 100644 --- a/tests/compiler/rereexport.release.wat +++ b/tests/compiler/rereexport.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) @@ -110,6 +110,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34328 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1536 + i32.load $0 + i32.gt_u + if + i32.const 1296 + i32.const 1360 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1540 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1458,146 +1590,18 @@ local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34328 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1536 - i32.load $0 - i32.gt_u - if - i32.const 1296 - i32.const 1360 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1540 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/resolve-access.debug.wat b/tests/compiler/resolve-access.debug.wat index 39dcf401ab..9f4b25f774 100644 --- a/tests/compiler/resolve-access.debug.wat +++ b/tests/compiler/resolve-access.debug.wat @@ -80,6 +80,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -92,12 +93,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -255,6 +258,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -274,6 +278,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -391,6 +396,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -566,22 +572,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -606,16 +615,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -711,18 +723,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -746,18 +761,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -767,12 +785,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -920,22 +941,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -980,16 +1004,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1044,10 +1071,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1163,6 +1193,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1345,6 +1376,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1579,6 +1611,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1657,6 +1690,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1672,6 +1706,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1762,16 +1797,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1804,16 +1842,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1827,46 +1868,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1903,10 +1951,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2026,30 +2077,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2120,6 +2177,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2132,6 +2190,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2194,6 +2253,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/__newBuffer (type $i32_i32_i32_=>_i32) (param $size i32) (param $id i32) (param $data i32) (result i32) (local $buffer i32) @@ -2209,6 +2269,7 @@ memory.copy $0 $0 end local.get $buffer + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2311,6 +2372,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) local.get $value @@ -2738,12 +2800,15 @@ (local $b64 i64) (local $b i64) (local $e i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -2805,6 +2870,7 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) @@ -2901,6 +2967,7 @@ local.get $this local.get $radix call $~lib/util/number/utoa64 + return ) (func $resolve-access/Container#set:foo (type $i32_i64_=>_none) (param $this i32) (param $foo i64) local.get $this @@ -2915,11 +2982,13 @@ local.get $this call $resolve-access/Container#get:foo i32.wrap_i64 + return ) (func $~lib/number/U32#toString (type $i32_i32_=>_i32) (param $this i32) (param $radix i32) (result i32) local.get $this local.get $radix call $~lib/util/number/utoa32 + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -3116,6 +3185,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $~lib/util/number/utoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) (local $out i32) @@ -3302,6 +3372,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $17 + return ) (func $resolve-access/arrayAccess (type $none_=>_i32) (result i32) (local $0 i32) @@ -3335,6 +3406,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -3429,6 +3501,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/util/number/utoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $out i32) @@ -3575,6 +3648,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $12 + return ) (func $resolve-access/propertyAccess (type $none_=>_i32) (result i32) (local $container i32) @@ -3605,5 +3679,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) ) diff --git a/tests/compiler/resolve-binary.debug.wat b/tests/compiler/resolve-binary.debug.wat index e07528ac1a..9ec39b9293 100644 --- a/tests/compiler/resolve-binary.debug.wat +++ b/tests/compiler/resolve-binary.debug.wat @@ -108,6 +108,7 @@ else i32.const 64 end + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -120,6 +121,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -223,6 +225,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -265,6 +268,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) local.get $value @@ -339,6 +343,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -351,12 +356,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -514,6 +521,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -533,6 +541,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -650,6 +659,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -825,22 +835,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -865,16 +878,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -970,18 +986,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1005,18 +1024,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1026,12 +1048,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1179,22 +1204,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1239,16 +1267,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1303,10 +1334,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1422,6 +1456,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1604,6 +1639,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1838,6 +1874,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1916,6 +1953,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1931,6 +1969,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -2021,16 +2060,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -2063,16 +2105,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -2086,46 +2131,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2162,10 +2214,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2285,30 +2340,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2379,6 +2440,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2391,6 +2453,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2453,6 +2516,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) (local $t i32) @@ -2646,12 +2710,15 @@ (local $b64 i64) (local $b i64) (local $e i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -2713,6 +2780,7 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) @@ -2809,6 +2877,7 @@ local.get $this local.get $radix call $~lib/util/number/itoa32 + return ) (func $~lib/math/NativeMath.pow (type $f64_f64_=>_f64) (param $x f64) (param $y f64) (result f64) (local $x|2 f64) @@ -2993,17 +3062,20 @@ i64.ge_u end if - local.get $iy - local.set $u - local.get $u - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740992 - i64.const 1 - i64.sub - i64.ge_u + block $~lib/util/math/zeroinfnan|inlined.0 (result i32) + local.get $iy + local.set $u + local.get $u + i64.const 1 + i64.shl + i64.const 1 + i64.sub + i64.const -9007199254740992 + i64.const 1 + i64.sub + i64.ge_u + br $~lib/util/math/zeroinfnan|inlined.0 + end if local.get $iy i64.const 1 @@ -3071,19 +3143,22 @@ f64.mul br $~lib/util/math/pow_lut|inlined.0 end - local.get $ix - local.set $u|10 - local.get $u|10 - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740992 - i64.const 1 - i64.sub - i64.ge_u - if - local.get $x|2 + block $~lib/util/math/zeroinfnan|inlined.1 (result i32) + local.get $ix + local.set $u|10 + local.get $u|10 + i64.const 1 + i64.shl + i64.const 1 + i64.sub + i64.const -9007199254740992 + i64.const 1 + i64.sub + i64.ge_u + br $~lib/util/math/zeroinfnan|inlined.1 + end + if + local.get $x|2 local.get $x|2 f64.mul local.set $x2 @@ -3146,6 +3221,7 @@ br $~lib/util/math/checkint|inlined.0 end i32.const 2 + br $~lib/util/math/checkint|inlined.0 end i32.const 1 i32.eq @@ -3227,6 +3303,7 @@ br $~lib/util/math/checkint|inlined.1 end i32.const 2 + br $~lib/util/math/checkint|inlined.1 end local.set $yint local.get $yint @@ -3319,196 +3396,199 @@ local.set $ix end end - local.get $ix - local.set $ix|17 - local.get $ix|17 - i64.const 4604531861337669632 - i64.sub - local.set $tmp - local.get $tmp - i64.const 52 - i32.const 7 - i64.extend_i32_s - i64.sub - i64.shr_u - i32.const 127 - i64.extend_i32_s - i64.and - i32.wrap_i64 - local.set $i - local.get $tmp - i64.const 52 - i64.shr_s - local.set $k - local.get $ix|17 - local.get $tmp - i64.const 4095 - i64.const 52 - i64.shl - i64.and - i64.sub - local.set $iz - local.get $iz - f64.reinterpret_i64 - local.set $z - local.get $k - f64.convert_i64_s - local.set $kd - i32.const 2384 - local.get $i - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load $0 - local.set $invc - i32.const 2384 - local.get $i - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load $0 offset=16 - local.set $logc - i32.const 2384 - local.get $i - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load $0 offset=24 - local.set $logctail - local.get $iz - i64.const 2147483648 - i64.add - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $zhi - local.get $z - local.get $zhi - f64.sub - local.set $zlo - local.get $zhi - local.get $invc - f64.mul - f64.const 1 - f64.sub - local.set $rhi - local.get $zlo - local.get $invc - f64.mul - local.set $rlo - local.get $rhi - local.get $rlo - f64.add - local.set $r - local.get $kd - f64.const 0.6931471805598903 - f64.mul - local.get $logc - f64.add - local.set $t1 - local.get $t1 - local.get $r - f64.add - local.set $t2 - local.get $kd - f64.const 5.497923018708371e-14 - f64.mul - local.get $logctail - f64.add - local.set $lo1 - local.get $t1 - local.get $t2 - f64.sub - local.get $r - f64.add - local.set $lo2 - f64.const -0.5 - local.get $r - f64.mul - local.set $ar - local.get $r - local.get $ar - f64.mul - local.set $ar2 - local.get $r - local.get $ar2 - f64.mul - local.set $ar3 - f64.const -0.5 - local.get $rhi - f64.mul - local.set $arhi - local.get $rhi - local.get $arhi - f64.mul - local.set $arhi2 - local.get $t2 - local.get $arhi2 - f64.add - local.set $hi - local.get $rlo - local.get $ar - local.get $arhi - f64.add - f64.mul - local.set $lo3 - local.get $t2 - local.get $hi - f64.sub - local.get $arhi2 - f64.add - local.set $lo4 - local.get $ar3 - f64.const -0.6666666666666679 - local.get $r - f64.const 0.5000000000000007 - f64.mul - f64.add - local.get $ar2 - f64.const 0.7999999995323976 - local.get $r - f64.const -0.6666666663487739 - f64.mul - f64.add - local.get $ar2 - f64.const -1.142909628459501 - local.get $r - f64.const 1.0000415263675542 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $p - local.get $lo1 - local.get $lo2 - f64.add - local.get $lo3 - f64.add - local.get $lo4 - f64.add - local.get $p - f64.add - local.set $lo - local.get $hi - local.get $lo - f64.add - local.set $y|46 - local.get $hi - local.get $y|46 - f64.sub - local.get $lo - f64.add - global.set $~lib/util/math/log_tail - local.get $y|46 + block $~lib/util/math/log_inline|inlined.0 (result f64) + local.get $ix + local.set $ix|17 + local.get $ix|17 + i64.const 4604531861337669632 + i64.sub + local.set $tmp + local.get $tmp + i64.const 52 + i32.const 7 + i64.extend_i32_s + i64.sub + i64.shr_u + i32.const 127 + i64.extend_i32_s + i64.and + i32.wrap_i64 + local.set $i + local.get $tmp + i64.const 52 + i64.shr_s + local.set $k + local.get $ix|17 + local.get $tmp + i64.const 4095 + i64.const 52 + i64.shl + i64.and + i64.sub + local.set $iz + local.get $iz + f64.reinterpret_i64 + local.set $z + local.get $k + f64.convert_i64_s + local.set $kd + i32.const 2384 + local.get $i + i32.const 2 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load $0 + local.set $invc + i32.const 2384 + local.get $i + i32.const 2 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load $0 offset=16 + local.set $logc + i32.const 2384 + local.get $i + i32.const 2 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load $0 offset=24 + local.set $logctail + local.get $iz + i64.const 2147483648 + i64.add + i64.const -4294967296 + i64.and + f64.reinterpret_i64 + local.set $zhi + local.get $z + local.get $zhi + f64.sub + local.set $zlo + local.get $zhi + local.get $invc + f64.mul + f64.const 1 + f64.sub + local.set $rhi + local.get $zlo + local.get $invc + f64.mul + local.set $rlo + local.get $rhi + local.get $rlo + f64.add + local.set $r + local.get $kd + f64.const 0.6931471805598903 + f64.mul + local.get $logc + f64.add + local.set $t1 + local.get $t1 + local.get $r + f64.add + local.set $t2 + local.get $kd + f64.const 5.497923018708371e-14 + f64.mul + local.get $logctail + f64.add + local.set $lo1 + local.get $t1 + local.get $t2 + f64.sub + local.get $r + f64.add + local.set $lo2 + f64.const -0.5 + local.get $r + f64.mul + local.set $ar + local.get $r + local.get $ar + f64.mul + local.set $ar2 + local.get $r + local.get $ar2 + f64.mul + local.set $ar3 + f64.const -0.5 + local.get $rhi + f64.mul + local.set $arhi + local.get $rhi + local.get $arhi + f64.mul + local.set $arhi2 + local.get $t2 + local.get $arhi2 + f64.add + local.set $hi + local.get $rlo + local.get $ar + local.get $arhi + f64.add + f64.mul + local.set $lo3 + local.get $t2 + local.get $hi + f64.sub + local.get $arhi2 + f64.add + local.set $lo4 + local.get $ar3 + f64.const -0.6666666666666679 + local.get $r + f64.const 0.5000000000000007 + f64.mul + f64.add + local.get $ar2 + f64.const 0.7999999995323976 + local.get $r + f64.const -0.6666666663487739 + f64.mul + f64.add + local.get $ar2 + f64.const -1.142909628459501 + local.get $r + f64.const 1.0000415263675542 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $p + local.get $lo1 + local.get $lo2 + f64.add + local.get $lo3 + f64.add + local.get $lo4 + f64.add + local.get $p + f64.add + local.set $lo + local.get $hi + local.get $lo + f64.add + local.set $y|46 + local.get $hi + local.get $y|46 + f64.sub + local.get $lo + f64.add + global.set $~lib/util/math/log_tail + local.get $y|46 + br $~lib/util/math/log_inline|inlined.0 + end local.set $hi|47 global.get $~lib/util/math/log_tail local.set $lo|48 @@ -3588,35 +3668,47 @@ i64.const 0 i64.lt_s if (result f64) - local.get $sign_bias|57 - local.set $sign - local.get $sign - local.set $sign|72 - i64.const 1152921504606846976 - f64.reinterpret_i64 - local.set $y|73 - local.get $y|73 - f64.neg - local.get $y|73 - local.get $sign|72 - select - local.get $y|73 - f64.mul + block $~lib/util/math/uflow|inlined.0 (result f64) + local.get $sign_bias|57 + local.set $sign + block $~lib/util/math/xflow|inlined.0 (result f64) + local.get $sign + local.set $sign|72 + i64.const 1152921504606846976 + f64.reinterpret_i64 + local.set $y|73 + local.get $y|73 + f64.neg + local.get $y|73 + local.get $sign|72 + select + local.get $y|73 + f64.mul + br $~lib/util/math/xflow|inlined.0 + end + br $~lib/util/math/uflow|inlined.0 + end else - local.get $sign_bias|57 - local.set $sign|74 - local.get $sign|74 - local.set $sign|75 - i64.const 8070450532247928832 - f64.reinterpret_i64 - local.set $y|76 - local.get $y|76 - f64.neg - local.get $y|76 - local.get $sign|75 - select - local.get $y|76 - f64.mul + block $~lib/util/math/oflow|inlined.0 (result f64) + local.get $sign_bias|57 + local.set $sign|74 + block $~lib/util/math/xflow|inlined.1 (result f64) + local.get $sign|74 + local.set $sign|75 + i64.const 8070450532247928832 + f64.reinterpret_i64 + local.set $y|76 + local.get $y|76 + f64.neg + local.get $y|76 + local.get $sign|75 + select + local.get $y|76 + f64.mul + br $~lib/util/math/xflow|inlined.1 + end + br $~lib/util/math/oflow|inlined.0 + end end br $~lib/util/math/exp_inline|inlined.0 end @@ -3813,6 +3905,7 @@ local.get $y|81 f64.const 2.2250738585072014e-308 f64.mul + br $~lib/util/math/specialcase|inlined.0 end br $~lib/util/math/exp_inline|inlined.0 end @@ -3824,7 +3917,9 @@ local.get $tmp|69 f64.mul f64.add + br $~lib/util/math/exp_inline|inlined.0 end + br $~lib/util/math/pow_lut|inlined.0 end return ) @@ -4525,51 +4620,54 @@ local.get $buffer i32.const 101 i32.store16 $0 offset=2 - local.get $buffer - i32.const 4 - i32.add - local.set $buffer|8 - local.get $kk - i32.const 1 - i32.sub - local.set $k|9 - local.get $k|9 - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 0 - local.get $k|9 + block $~lib/util/number/genExponent|inlined.0 (result i32) + local.get $buffer + i32.const 4 + i32.add + local.set $buffer|8 + local.get $kk + i32.const 1 i32.sub local.set $k|9 + local.get $k|9 + i32.const 0 + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 0 + local.get $k|9 + i32.sub + local.set $k|9 + end + local.get $k|9 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 + local.set $num + local.get $decimals + local.set $offset|14 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|12 + local.get $num + local.get $offset|14 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|8 + i32.const 45 + i32.const 43 + local.get $sign + select + i32.store16 $0 + local.get $decimals + br $~lib/util/number/genExponent|inlined.0 end - local.get $k|9 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals - local.get $buffer|8 - local.set $buffer|12 - local.get $k|9 - local.set $num - local.get $decimals - local.set $offset|14 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|12 - local.get $num - local.get $offset|14 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|8 - i32.const 45 - i32.const 43 - local.get $sign - select - i32.store16 $0 - local.get $decimals local.set $length local.get $length i32.const 2 @@ -4599,53 +4697,56 @@ i32.const 101 i32.store16 $0 offset=2 local.get $length - local.get $buffer - local.get $len - i32.add - i32.const 4 - i32.add - local.set $buffer|16 - local.get $kk - i32.const 1 - i32.sub - local.set $k|17 - local.get $k|17 - i32.const 0 - i32.lt_s - local.set $sign|18 - local.get $sign|18 - if - i32.const 0 - local.get $k|17 + block $~lib/util/number/genExponent|inlined.1 (result i32) + local.get $buffer + local.get $len + i32.add + i32.const 4 + i32.add + local.set $buffer|16 + local.get $kk + i32.const 1 i32.sub local.set $k|17 + local.get $k|17 + i32.const 0 + i32.lt_s + local.set $sign|18 + local.get $sign|18 + if + i32.const 0 + local.get $k|17 + i32.sub + local.set $k|17 + end + local.get $k|17 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|16 + i32.const 45 + i32.const 43 + local.get $sign|18 + select + i32.store16 $0 + local.get $decimals|19 + br $~lib/util/number/genExponent|inlined.1 end - local.get $k|17 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals|19 - local.get $buffer|16 - local.set $buffer|20 - local.get $k|17 - local.set $num|21 - local.get $decimals|19 - local.set $offset|22 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|20 - local.get $num|21 - local.get $offset|22 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|16 - i32.const 45 - i32.const 43 - local.get $sign|18 - select - i32.store16 $0 - local.get $decimals|19 i32.add local.set $length local.get $length @@ -4657,452 +4758,470 @@ end unreachable end - unreachable - end - unreachable - ) - (func $~lib/util/number/dtoa_core (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) - (local $sign i32) - (local $value|3 f64) - (local $buffer|4 i32) - (local $sign|5 i32) - (local $uv i64) - (local $exp i32) - (local $sid i64) - (local $frc i64) - (local $f i64) - (local $e i32) - (local $frc|12 i64) - (local $exp|13 i32) - (local $off i32) - (local $m i32) - (local $minExp i32) - (local $dk f64) - (local $k i32) - (local $index i32) - (local $off|20 i32) - (local $frc_pow i64) - (local $exp_pow i32) - (local $u i64) - (local $v i64) - (local $u0 i64) - (local $v0 i64) - (local $u1 i64) - (local $v1 i64) - (local $l i64) - (local $t i64) - (local $w i64) - (local $w_frc i64) - (local $e1 i32) - (local $e2 i32) - (local $w_exp i32) - (local $u|36 i64) - (local $v|37 i64) - (local $u0|38 i64) - (local $v0|39 i64) - (local $u1|40 i64) - (local $v1|41 i64) - (local $l|42 i64) - (local $t|43 i64) - (local $w|44 i64) - (local $wp_frc i64) - (local $e1|46 i32) - (local $e2|47 i32) - (local $wp_exp i32) - (local $u|49 i64) - (local $v|50 i64) - (local $u0|51 i64) - (local $v0|52 i64) - (local $u1|53 i64) - (local $v1|54 i64) - (local $l|55 i64) - (local $t|56 i64) - (local $w|57 i64) - (local $wm_frc i64) - (local $delta i64) - (local $len i32) - local.get $value - f64.const 0 - f64.lt - local.set $sign - local.get $sign - if - local.get $value - f64.neg - local.set $value - local.get $buffer - i32.const 45 - i32.store16 $0 + unreachable + end + unreachable + ) + (func $~lib/util/number/dtoa_core (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) + (local $sign i32) + (local $value|3 f64) + (local $buffer|4 i32) + (local $sign|5 i32) + (local $uv i64) + (local $exp i32) + (local $sid i64) + (local $frc i64) + (local $f i64) + (local $e i32) + (local $frc|12 i64) + (local $exp|13 i32) + (local $off i32) + (local $m i32) + (local $minExp i32) + (local $dk f64) + (local $k i32) + (local $index i32) + (local $off|20 i32) + (local $frc_pow i64) + (local $exp_pow i32) + (local $u i64) + (local $v i64) + (local $u0 i64) + (local $v0 i64) + (local $u1 i64) + (local $v1 i64) + (local $l i64) + (local $t i64) + (local $w i64) + (local $w_frc i64) + (local $e1 i32) + (local $e2 i32) + (local $w_exp i32) + (local $u|36 i64) + (local $v|37 i64) + (local $u0|38 i64) + (local $v0|39 i64) + (local $u1|40 i64) + (local $v1|41 i64) + (local $l|42 i64) + (local $t|43 i64) + (local $w|44 i64) + (local $wp_frc i64) + (local $e1|46 i32) + (local $e2|47 i32) + (local $wp_exp i32) + (local $u|49 i64) + (local $v|50 i64) + (local $u0|51 i64) + (local $v0|52 i64) + (local $u1|53 i64) + (local $v1|54 i64) + (local $l|55 i64) + (local $t|56 i64) + (local $w|57 i64) + (local $wm_frc i64) + (local $delta i64) + (local $len i32) + local.get $value + f64.const 0 + f64.lt + local.set $sign + local.get $sign + if + local.get $value + f64.neg + local.set $value + local.get $buffer + i32.const 45 + i32.store16 $0 + end + block $~lib/util/number/grisu2|inlined.0 (result i32) + local.get $value + local.set $value|3 + local.get $buffer + local.set $buffer|4 + local.get $sign + local.set $sign|5 + local.get $value|3 + i64.reinterpret_f64 + local.set $uv + local.get $uv + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv + i64.const 4503599627370495 + i64.and + local.set $sid + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid + i64.add + local.set $frc + local.get $exp + i32.const 1 + local.get $exp + select + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $exp + local.get $frc + local.set $f + local.get $exp + local.set $e + local.get $f + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $frc|12 + local.get $e + i32.const 1 + i32.sub + local.set $exp|13 + local.get $frc|12 + i64.clz + i32.wrap_i64 + local.set $off + local.get $frc|12 + local.get $off + i64.extend_i32_s + i64.shl + local.set $frc|12 + local.get $exp|13 + local.get $off + i32.sub + local.set $exp|13 + i32.const 1 + local.get $f + i64.const 4503599627370496 + i64.eq + i32.add + local.set $m + local.get $frc|12 + global.set $~lib/util/number/_frc_plus + local.get $f + local.get $m + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $e + local.get $m + i32.sub + local.get $exp|13 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $exp|13 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $minExp + i32.const -61 + local.get $minExp + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.set $dk + local.get $dk + i32.trunc_sat_f64_s + local.set $k + local.get $k + local.get $k + f64.convert_i32_s + local.get $dk + f64.ne + i32.add + local.set $k + local.get $k + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.set $index + i32.const 348 + local.get $index + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 8760 + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + global.set $~lib/util/number/_frc_pow + i32.const 9456 + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + global.set $~lib/util/number/_exp_pow + local.get $frc + i64.clz + i32.wrap_i64 + local.set $off|20 + local.get $frc + local.get $off|20 + i64.extend_i32_s + i64.shl + local.set $frc + local.get $exp + local.get $off|20 + i32.sub + local.set $exp + global.get $~lib/util/number/_frc_pow + local.set $frc_pow + global.get $~lib/util/number/_exp_pow + local.set $exp_pow + block $~lib/util/number/umul64f|inlined.0 (result i64) + local.get $frc + local.set $u + local.get $frc_pow + local.set $v + local.get $u + i64.const 4294967295 + i64.and + local.set $u0 + local.get $v + i64.const 4294967295 + i64.and + local.set $v0 + local.get $u + i64.const 32 + i64.shr_u + local.set $u1 + local.get $v + i64.const 32 + i64.shr_u + local.set $v1 + local.get $u0 + local.get $v0 + i64.mul + local.set $l + local.get $u1 + local.get $v0 + i64.mul + local.get $l + i64.const 32 + i64.shr_u + i64.add + local.set $t + local.get $u0 + local.get $v1 + i64.mul + local.get $t + i64.const 4294967295 + i64.and + i64.add + local.set $w + local.get $w + i64.const 2147483647 + i64.add + local.set $w + local.get $t + i64.const 32 + i64.shr_u + local.set $t + local.get $w + i64.const 32 + i64.shr_u + local.set $w + local.get $u1 + local.get $v1 + i64.mul + local.get $t + i64.add + local.get $w + i64.add + br $~lib/util/number/umul64f|inlined.0 + end + local.set $w_frc + block $~lib/util/number/umul64e|inlined.0 (result i32) + local.get $exp + local.set $e1 + local.get $exp_pow + local.set $e2 + local.get $e1 + local.get $e2 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.0 + end + local.set $w_exp + block $~lib/util/number/umul64f|inlined.1 (result i64) + global.get $~lib/util/number/_frc_plus + local.set $u|36 + local.get $frc_pow + local.set $v|37 + local.get $u|36 + i64.const 4294967295 + i64.and + local.set $u0|38 + local.get $v|37 + i64.const 4294967295 + i64.and + local.set $v0|39 + local.get $u|36 + i64.const 32 + i64.shr_u + local.set $u1|40 + local.get $v|37 + i64.const 32 + i64.shr_u + local.set $v1|41 + local.get $u0|38 + local.get $v0|39 + i64.mul + local.set $l|42 + local.get $u1|40 + local.get $v0|39 + i64.mul + local.get $l|42 + i64.const 32 + i64.shr_u + i64.add + local.set $t|43 + local.get $u0|38 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.const 4294967295 + i64.and + i64.add + local.set $w|44 + local.get $w|44 + i64.const 2147483647 + i64.add + local.set $w|44 + local.get $t|43 + i64.const 32 + i64.shr_u + local.set $t|43 + local.get $w|44 + i64.const 32 + i64.shr_u + local.set $w|44 + local.get $u1|40 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.add + local.get $w|44 + i64.add + br $~lib/util/number/umul64f|inlined.1 + end + i64.const 1 + i64.sub + local.set $wp_frc + block $~lib/util/number/umul64e|inlined.1 (result i32) + global.get $~lib/util/number/_exp + local.set $e1|46 + local.get $exp_pow + local.set $e2|47 + local.get $e1|46 + local.get $e2|47 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.1 + end + local.set $wp_exp + block $~lib/util/number/umul64f|inlined.2 (result i64) + global.get $~lib/util/number/_frc_minus + local.set $u|49 + local.get $frc_pow + local.set $v|50 + local.get $u|49 + i64.const 4294967295 + i64.and + local.set $u0|51 + local.get $v|50 + i64.const 4294967295 + i64.and + local.set $v0|52 + local.get $u|49 + i64.const 32 + i64.shr_u + local.set $u1|53 + local.get $v|50 + i64.const 32 + i64.shr_u + local.set $v1|54 + local.get $u0|51 + local.get $v0|52 + i64.mul + local.set $l|55 + local.get $u1|53 + local.get $v0|52 + i64.mul + local.get $l|55 + i64.const 32 + i64.shr_u + i64.add + local.set $t|56 + local.get $u0|51 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.const 4294967295 + i64.and + i64.add + local.set $w|57 + local.get $w|57 + i64.const 2147483647 + i64.add + local.set $w|57 + local.get $t|56 + i64.const 32 + i64.shr_u + local.set $t|56 + local.get $w|57 + i64.const 32 + i64.shr_u + local.set $w|57 + local.get $u1|53 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.add + local.get $w|57 + i64.add + br $~lib/util/number/umul64f|inlined.2 + end + i64.const 1 + i64.add + local.set $wm_frc + local.get $wp_frc + local.get $wm_frc + i64.sub + local.set $delta + local.get $buffer|4 + local.get $w_frc + local.get $w_exp + local.get $wp_frc + local.get $wp_exp + local.get $delta + local.get $sign|5 + call $~lib/util/number/genDigits + br $~lib/util/number/grisu2|inlined.0 end - local.get $value - local.set $value|3 - local.get $buffer - local.set $buffer|4 - local.get $sign - local.set $sign|5 - local.get $value|3 - i64.reinterpret_f64 - local.set $uv - local.get $uv - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $exp - local.get $uv - i64.const 4503599627370495 - i64.and - local.set $sid - local.get $exp - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $sid - i64.add - local.set $frc - local.get $exp - i32.const 1 - local.get $exp - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $exp - local.get $frc - local.set $f - local.get $exp - local.set $e - local.get $f - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $frc|12 - local.get $e - i32.const 1 - i32.sub - local.set $exp|13 - local.get $frc|12 - i64.clz - i32.wrap_i64 - local.set $off - local.get $frc|12 - local.get $off - i64.extend_i32_s - i64.shl - local.set $frc|12 - local.get $exp|13 - local.get $off - i32.sub - local.set $exp|13 - i32.const 1 - local.get $f - i64.const 4503599627370496 - i64.eq - i32.add - local.set $m - local.get $frc|12 - global.set $~lib/util/number/_frc_plus - local.get $f - local.get $m - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $e - local.get $m - i32.sub - local.get $exp|13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $exp|13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $minExp - i32.const -61 - local.get $minExp - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $dk - local.get $dk - i32.trunc_sat_f64_s - local.set $k - local.get $k - local.get $k - f64.convert_i32_s - local.get $dk - f64.ne - i32.add - local.set $k - local.get $k - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.set $index - i32.const 348 - local.get $index - i32.const 3 - i32.shl - i32.sub - global.set $~lib/util/number/_K - i32.const 8760 - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - i32.const 9456 - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $frc - i64.clz - i32.wrap_i64 - local.set $off|20 - local.get $frc - local.get $off|20 - i64.extend_i32_s - i64.shl - local.set $frc - local.get $exp - local.get $off|20 - i32.sub - local.set $exp - global.get $~lib/util/number/_frc_pow - local.set $frc_pow - global.get $~lib/util/number/_exp_pow - local.set $exp_pow - local.get $frc - local.set $u - local.get $frc_pow - local.set $v - local.get $u - i64.const 4294967295 - i64.and - local.set $u0 - local.get $v - i64.const 4294967295 - i64.and - local.set $v0 - local.get $u - i64.const 32 - i64.shr_u - local.set $u1 - local.get $v - i64.const 32 - i64.shr_u - local.set $v1 - local.get $u0 - local.get $v0 - i64.mul - local.set $l - local.get $u1 - local.get $v0 - i64.mul - local.get $l - i64.const 32 - i64.shr_u - i64.add - local.set $t - local.get $u0 - local.get $v1 - i64.mul - local.get $t - i64.const 4294967295 - i64.and - i64.add - local.set $w - local.get $w - i64.const 2147483647 - i64.add - local.set $w - local.get $t - i64.const 32 - i64.shr_u - local.set $t - local.get $w - i64.const 32 - i64.shr_u - local.set $w - local.get $u1 - local.get $v1 - i64.mul - local.get $t - i64.add - local.get $w - i64.add - local.set $w_frc - local.get $exp - local.set $e1 - local.get $exp_pow - local.set $e2 - local.get $e1 - local.get $e2 - i32.add - i32.const 64 - i32.add - local.set $w_exp - global.get $~lib/util/number/_frc_plus - local.set $u|36 - local.get $frc_pow - local.set $v|37 - local.get $u|36 - i64.const 4294967295 - i64.and - local.set $u0|38 - local.get $v|37 - i64.const 4294967295 - i64.and - local.set $v0|39 - local.get $u|36 - i64.const 32 - i64.shr_u - local.set $u1|40 - local.get $v|37 - i64.const 32 - i64.shr_u - local.set $v1|41 - local.get $u0|38 - local.get $v0|39 - i64.mul - local.set $l|42 - local.get $u1|40 - local.get $v0|39 - i64.mul - local.get $l|42 - i64.const 32 - i64.shr_u - i64.add - local.set $t|43 - local.get $u0|38 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.const 4294967295 - i64.and - i64.add - local.set $w|44 - local.get $w|44 - i64.const 2147483647 - i64.add - local.set $w|44 - local.get $t|43 - i64.const 32 - i64.shr_u - local.set $t|43 - local.get $w|44 - i64.const 32 - i64.shr_u - local.set $w|44 - local.get $u1|40 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.add - local.get $w|44 - i64.add - i64.const 1 - i64.sub - local.set $wp_frc - global.get $~lib/util/number/_exp - local.set $e1|46 - local.get $exp_pow - local.set $e2|47 - local.get $e1|46 - local.get $e2|47 - i32.add - i32.const 64 - i32.add - local.set $wp_exp - global.get $~lib/util/number/_frc_minus - local.set $u|49 - local.get $frc_pow - local.set $v|50 - local.get $u|49 - i64.const 4294967295 - i64.and - local.set $u0|51 - local.get $v|50 - i64.const 4294967295 - i64.and - local.set $v0|52 - local.get $u|49 - i64.const 32 - i64.shr_u - local.set $u1|53 - local.get $v|50 - i64.const 32 - i64.shr_u - local.set $v1|54 - local.get $u0|51 - local.get $v0|52 - i64.mul - local.set $l|55 - local.get $u1|53 - local.get $v0|52 - i64.mul - local.get $l|55 - i64.const 32 - i64.shr_u - i64.add - local.set $t|56 - local.get $u0|51 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.const 4294967295 - i64.and - i64.add - local.set $w|57 - local.get $w|57 - i64.const 2147483647 - i64.add - local.set $w|57 - local.get $t|56 - i64.const 32 - i64.shr_u - local.set $t|56 - local.get $w|57 - i64.const 32 - i64.shr_u - local.set $w|57 - local.get $u1|53 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.add - local.get $w|57 - i64.add - i64.const 1 - i64.add - local.set $wm_frc - local.get $wp_frc - local.get $wm_frc - i64.sub - local.set $delta - local.get $buffer|4 - local.get $w_frc - local.get $w_exp - local.get $wp_frc - local.get $wp_exp - local.get $delta - local.get $sign|5 - call $~lib/util/number/genDigits local.set $len local.get $buffer local.get $sign @@ -5118,10 +5237,12 @@ local.get $len local.get $sign i32.add + return ) (func $~lib/number/F64#toString (type $f64_i32_=>_i32) (param $this f64) (param $radix i32) (result i32) local.get $this call $~lib/util/number/dtoa + return ) (func $~lib/math/ipow32 (type $i32_i32_=>_i32) (param $x i32) (param $e i32) (result i32) (local $out i32) @@ -5339,63 +5460,83 @@ end end local.get $out + return ) (func $resolve-binary/Foo#lt (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) i32.const 9824 + return ) (func $~lib/string/String#toString (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + return ) (func $resolve-binary/Foo#gt (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) i32.const 9856 + return ) (func $resolve-binary/Foo#le (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) i32.const 9888 + return ) (func $resolve-binary/Foo#ge (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) i32.const 9920 + return ) (func $resolve-binary/Foo#eq (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) i32.const 9952 + return ) (func $resolve-binary/Foo#ne (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) i32.const 9984 + return ) (func $resolve-binary/Foo#add (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) i32.const 10016 + return ) (func $resolve-binary/Foo.sub (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) i32.const 10048 + return ) (func $resolve-binary/Foo#mul (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) i32.const 10080 + return ) (func $resolve-binary/Foo#div (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) i32.const 10112 + return ) (func $resolve-binary/Foo#rem (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) i32.const 10144 + return ) (func $resolve-binary/Foo#pow (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) i32.const 10176 + return ) (func $resolve-binary/Bar#add (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) local.get $other + return ) (func $resolve-binary/Bar#self (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + return ) (func $resolve-binary/Baz#add (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) local.get $other + return ) (func $resolve-binary/Baz#sub (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) local.get $this + return ) (func $resolve-binary/Baz.mul (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) local.get $right + return ) (func $resolve-binary/Baz.div (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) local.get $left + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -7334,6 +7475,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/util/number/dtoa (type $f64_=>_i32) (param $value f64) (result i32) (local $size i32) @@ -7417,6 +7559,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) diff --git a/tests/compiler/resolve-binary.release.wat b/tests/compiler/resolve-binary.release.wat index e086ef05b4..2b39ee20d7 100644 --- a/tests/compiler/resolve-binary.release.wat +++ b/tests/compiler/resolve-binary.release.wat @@ -1,11 +1,11 @@ (module (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i64_i64_i32_i64_=>_i32 (func_subtype (param i64 i64 i32 i64) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -426,6 +426,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1472 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 44016 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1472 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1472 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 11216 + i32.load $0 + i32.gt_u + if + i32.const 1600 + i32.const 1664 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 11220 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -4307,146 +4439,18 @@ local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1472 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 44016 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1472 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1472 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 11216 - i32.load $0 - i32.gt_u - if - i32.const 1600 - i32.const 1664 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 11220 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/resolve-elementaccess.debug.wat b/tests/compiler/resolve-elementaccess.debug.wat index 2233d314a2..56b2da1721 100644 --- a/tests/compiler/resolve-elementaccess.debug.wat +++ b/tests/compiler/resolve-elementaccess.debug.wat @@ -103,6 +103,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -115,12 +116,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -278,6 +281,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -297,6 +301,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -414,6 +419,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -589,22 +595,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -629,16 +638,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -734,18 +746,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -769,18 +784,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -790,12 +808,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -943,22 +964,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1003,16 +1027,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1067,10 +1094,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1186,6 +1216,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1368,6 +1399,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1602,6 +1634,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1680,6 +1713,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1695,6 +1729,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1785,16 +1820,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1827,16 +1865,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1850,46 +1891,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1926,10 +1974,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2049,30 +2100,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2143,6 +2200,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2155,6 +2213,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2217,6 +2276,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2359,6 +2419,7 @@ i32.shl i32.add f32.load $0 + return ) (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) local.get $value @@ -3252,51 +3313,54 @@ local.get $buffer i32.const 101 i32.store16 $0 offset=2 - local.get $buffer - i32.const 4 - i32.add - local.set $buffer|8 - local.get $kk - i32.const 1 - i32.sub - local.set $k|9 - local.get $k|9 - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 0 - local.get $k|9 + block $~lib/util/number/genExponent|inlined.0 (result i32) + local.get $buffer + i32.const 4 + i32.add + local.set $buffer|8 + local.get $kk + i32.const 1 i32.sub local.set $k|9 + local.get $k|9 + i32.const 0 + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 0 + local.get $k|9 + i32.sub + local.set $k|9 + end + local.get $k|9 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 + local.set $num + local.get $decimals + local.set $offset|14 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|12 + local.get $num + local.get $offset|14 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|8 + i32.const 45 + i32.const 43 + local.get $sign + select + i32.store16 $0 + local.get $decimals + br $~lib/util/number/genExponent|inlined.0 end - local.get $k|9 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals - local.get $buffer|8 - local.set $buffer|12 - local.get $k|9 - local.set $num - local.get $decimals - local.set $offset|14 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|12 - local.get $num - local.get $offset|14 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|8 - i32.const 45 - i32.const 43 - local.get $sign - select - i32.store16 $0 - local.get $decimals local.set $length local.get $length i32.const 2 @@ -3326,53 +3390,56 @@ i32.const 101 i32.store16 $0 offset=2 local.get $length - local.get $buffer - local.get $len - i32.add - i32.const 4 - i32.add - local.set $buffer|16 - local.get $kk - i32.const 1 - i32.sub - local.set $k|17 - local.get $k|17 - i32.const 0 - i32.lt_s - local.set $sign|18 - local.get $sign|18 - if - i32.const 0 - local.get $k|17 + block $~lib/util/number/genExponent|inlined.1 (result i32) + local.get $buffer + local.get $len + i32.add + i32.const 4 + i32.add + local.set $buffer|16 + local.get $kk + i32.const 1 i32.sub local.set $k|17 + local.get $k|17 + i32.const 0 + i32.lt_s + local.set $sign|18 + local.get $sign|18 + if + i32.const 0 + local.get $k|17 + i32.sub + local.set $k|17 + end + local.get $k|17 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|16 + i32.const 45 + i32.const 43 + local.get $sign|18 + select + i32.store16 $0 + local.get $decimals|19 + br $~lib/util/number/genExponent|inlined.1 end - local.get $k|17 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals|19 - local.get $buffer|16 - local.set $buffer|20 - local.get $k|17 - local.set $num|21 - local.get $decimals|19 - local.set $offset|22 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|20 - local.get $num|21 - local.get $offset|22 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|16 - i32.const 45 - i32.const 43 - local.get $sign|18 - select - i32.store16 $0 - local.get $decimals|19 i32.add local.set $length local.get $length @@ -3461,375 +3528,393 @@ i32.const 45 i32.store16 $0 end - local.get $value - local.set $value|3 - local.get $buffer - local.set $buffer|4 - local.get $sign - local.set $sign|5 - local.get $value|3 - i64.reinterpret_f64 - local.set $uv - local.get $uv - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $exp - local.get $uv - i64.const 4503599627370495 - i64.and - local.set $sid - local.get $exp - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $sid - i64.add - local.set $frc - local.get $exp - i32.const 1 - local.get $exp - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $exp - local.get $frc - local.set $f - local.get $exp - local.set $e - local.get $f - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $frc|12 - local.get $e - i32.const 1 - i32.sub - local.set $exp|13 - local.get $frc|12 - i64.clz - i32.wrap_i64 - local.set $off - local.get $frc|12 - local.get $off - i64.extend_i32_s - i64.shl - local.set $frc|12 - local.get $exp|13 - local.get $off - i32.sub - local.set $exp|13 - i32.const 1 - local.get $f - i64.const 4503599627370496 - i64.eq - i32.add - local.set $m - local.get $frc|12 - global.set $~lib/util/number/_frc_plus - local.get $f - local.get $m - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $e - local.get $m - i32.sub - local.get $exp|13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $exp|13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $minExp - i32.const -61 - local.get $minExp - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $dk - local.get $dk - i32.trunc_sat_f64_s - local.set $k - local.get $k - local.get $k - f64.convert_i32_s - local.get $dk - f64.ne - i32.add - local.set $k - local.get $k - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.set $index - i32.const 348 - local.get $index - i32.const 3 - i32.shl - i32.sub - global.set $~lib/util/number/_K - i32.const 808 - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - i32.const 1504 - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $frc - i64.clz - i32.wrap_i64 - local.set $off|20 - local.get $frc - local.get $off|20 - i64.extend_i32_s - i64.shl - local.set $frc - local.get $exp - local.get $off|20 - i32.sub - local.set $exp - global.get $~lib/util/number/_frc_pow - local.set $frc_pow - global.get $~lib/util/number/_exp_pow - local.set $exp_pow - local.get $frc - local.set $u - local.get $frc_pow - local.set $v - local.get $u - i64.const 4294967295 - i64.and - local.set $u0 - local.get $v - i64.const 4294967295 - i64.and - local.set $v0 - local.get $u - i64.const 32 - i64.shr_u - local.set $u1 - local.get $v - i64.const 32 - i64.shr_u - local.set $v1 - local.get $u0 - local.get $v0 - i64.mul - local.set $l - local.get $u1 - local.get $v0 - i64.mul - local.get $l - i64.const 32 - i64.shr_u - i64.add - local.set $t - local.get $u0 - local.get $v1 - i64.mul - local.get $t - i64.const 4294967295 - i64.and - i64.add - local.set $w - local.get $w - i64.const 2147483647 - i64.add - local.set $w - local.get $t - i64.const 32 - i64.shr_u - local.set $t - local.get $w - i64.const 32 - i64.shr_u - local.set $w - local.get $u1 - local.get $v1 - i64.mul - local.get $t - i64.add - local.get $w - i64.add - local.set $w_frc - local.get $exp - local.set $e1 - local.get $exp_pow - local.set $e2 - local.get $e1 - local.get $e2 - i32.add - i32.const 64 - i32.add - local.set $w_exp - global.get $~lib/util/number/_frc_plus - local.set $u|36 - local.get $frc_pow - local.set $v|37 - local.get $u|36 - i64.const 4294967295 - i64.and - local.set $u0|38 - local.get $v|37 - i64.const 4294967295 - i64.and - local.set $v0|39 - local.get $u|36 - i64.const 32 - i64.shr_u - local.set $u1|40 - local.get $v|37 - i64.const 32 - i64.shr_u - local.set $v1|41 - local.get $u0|38 - local.get $v0|39 - i64.mul - local.set $l|42 - local.get $u1|40 - local.get $v0|39 - i64.mul - local.get $l|42 - i64.const 32 - i64.shr_u - i64.add - local.set $t|43 - local.get $u0|38 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.const 4294967295 - i64.and - i64.add - local.set $w|44 - local.get $w|44 - i64.const 2147483647 - i64.add - local.set $w|44 - local.get $t|43 - i64.const 32 - i64.shr_u - local.set $t|43 - local.get $w|44 - i64.const 32 - i64.shr_u - local.set $w|44 - local.get $u1|40 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.add - local.get $w|44 - i64.add - i64.const 1 - i64.sub - local.set $wp_frc - global.get $~lib/util/number/_exp - local.set $e1|46 - local.get $exp_pow - local.set $e2|47 - local.get $e1|46 - local.get $e2|47 - i32.add - i32.const 64 - i32.add - local.set $wp_exp - global.get $~lib/util/number/_frc_minus - local.set $u|49 - local.get $frc_pow - local.set $v|50 - local.get $u|49 - i64.const 4294967295 - i64.and - local.set $u0|51 - local.get $v|50 - i64.const 4294967295 - i64.and - local.set $v0|52 - local.get $u|49 - i64.const 32 - i64.shr_u - local.set $u1|53 - local.get $v|50 - i64.const 32 - i64.shr_u - local.set $v1|54 - local.get $u0|51 - local.get $v0|52 - i64.mul - local.set $l|55 - local.get $u1|53 - local.get $v0|52 - i64.mul - local.get $l|55 - i64.const 32 - i64.shr_u - i64.add - local.set $t|56 - local.get $u0|51 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.const 4294967295 - i64.and - i64.add - local.set $w|57 - local.get $w|57 - i64.const 2147483647 - i64.add - local.set $w|57 - local.get $t|56 - i64.const 32 - i64.shr_u - local.set $t|56 - local.get $w|57 - i64.const 32 - i64.shr_u - local.set $w|57 - local.get $u1|53 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.add - local.get $w|57 - i64.add - i64.const 1 - i64.add - local.set $wm_frc - local.get $wp_frc - local.get $wm_frc - i64.sub - local.set $delta - local.get $buffer|4 - local.get $w_frc - local.get $w_exp - local.get $wp_frc - local.get $wp_exp - local.get $delta - local.get $sign|5 - call $~lib/util/number/genDigits + block $~lib/util/number/grisu2|inlined.0 (result i32) + local.get $value + local.set $value|3 + local.get $buffer + local.set $buffer|4 + local.get $sign + local.set $sign|5 + local.get $value|3 + i64.reinterpret_f64 + local.set $uv + local.get $uv + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv + i64.const 4503599627370495 + i64.and + local.set $sid + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid + i64.add + local.set $frc + local.get $exp + i32.const 1 + local.get $exp + select + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $exp + local.get $frc + local.set $f + local.get $exp + local.set $e + local.get $f + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $frc|12 + local.get $e + i32.const 1 + i32.sub + local.set $exp|13 + local.get $frc|12 + i64.clz + i32.wrap_i64 + local.set $off + local.get $frc|12 + local.get $off + i64.extend_i32_s + i64.shl + local.set $frc|12 + local.get $exp|13 + local.get $off + i32.sub + local.set $exp|13 + i32.const 1 + local.get $f + i64.const 4503599627370496 + i64.eq + i32.add + local.set $m + local.get $frc|12 + global.set $~lib/util/number/_frc_plus + local.get $f + local.get $m + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $e + local.get $m + i32.sub + local.get $exp|13 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $exp|13 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $minExp + i32.const -61 + local.get $minExp + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.set $dk + local.get $dk + i32.trunc_sat_f64_s + local.set $k + local.get $k + local.get $k + f64.convert_i32_s + local.get $dk + f64.ne + i32.add + local.set $k + local.get $k + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.set $index + i32.const 348 + local.get $index + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 808 + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + global.set $~lib/util/number/_frc_pow + i32.const 1504 + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + global.set $~lib/util/number/_exp_pow + local.get $frc + i64.clz + i32.wrap_i64 + local.set $off|20 + local.get $frc + local.get $off|20 + i64.extend_i32_s + i64.shl + local.set $frc + local.get $exp + local.get $off|20 + i32.sub + local.set $exp + global.get $~lib/util/number/_frc_pow + local.set $frc_pow + global.get $~lib/util/number/_exp_pow + local.set $exp_pow + block $~lib/util/number/umul64f|inlined.0 (result i64) + local.get $frc + local.set $u + local.get $frc_pow + local.set $v + local.get $u + i64.const 4294967295 + i64.and + local.set $u0 + local.get $v + i64.const 4294967295 + i64.and + local.set $v0 + local.get $u + i64.const 32 + i64.shr_u + local.set $u1 + local.get $v + i64.const 32 + i64.shr_u + local.set $v1 + local.get $u0 + local.get $v0 + i64.mul + local.set $l + local.get $u1 + local.get $v0 + i64.mul + local.get $l + i64.const 32 + i64.shr_u + i64.add + local.set $t + local.get $u0 + local.get $v1 + i64.mul + local.get $t + i64.const 4294967295 + i64.and + i64.add + local.set $w + local.get $w + i64.const 2147483647 + i64.add + local.set $w + local.get $t + i64.const 32 + i64.shr_u + local.set $t + local.get $w + i64.const 32 + i64.shr_u + local.set $w + local.get $u1 + local.get $v1 + i64.mul + local.get $t + i64.add + local.get $w + i64.add + br $~lib/util/number/umul64f|inlined.0 + end + local.set $w_frc + block $~lib/util/number/umul64e|inlined.0 (result i32) + local.get $exp + local.set $e1 + local.get $exp_pow + local.set $e2 + local.get $e1 + local.get $e2 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.0 + end + local.set $w_exp + block $~lib/util/number/umul64f|inlined.1 (result i64) + global.get $~lib/util/number/_frc_plus + local.set $u|36 + local.get $frc_pow + local.set $v|37 + local.get $u|36 + i64.const 4294967295 + i64.and + local.set $u0|38 + local.get $v|37 + i64.const 4294967295 + i64.and + local.set $v0|39 + local.get $u|36 + i64.const 32 + i64.shr_u + local.set $u1|40 + local.get $v|37 + i64.const 32 + i64.shr_u + local.set $v1|41 + local.get $u0|38 + local.get $v0|39 + i64.mul + local.set $l|42 + local.get $u1|40 + local.get $v0|39 + i64.mul + local.get $l|42 + i64.const 32 + i64.shr_u + i64.add + local.set $t|43 + local.get $u0|38 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.const 4294967295 + i64.and + i64.add + local.set $w|44 + local.get $w|44 + i64.const 2147483647 + i64.add + local.set $w|44 + local.get $t|43 + i64.const 32 + i64.shr_u + local.set $t|43 + local.get $w|44 + i64.const 32 + i64.shr_u + local.set $w|44 + local.get $u1|40 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.add + local.get $w|44 + i64.add + br $~lib/util/number/umul64f|inlined.1 + end + i64.const 1 + i64.sub + local.set $wp_frc + block $~lib/util/number/umul64e|inlined.1 (result i32) + global.get $~lib/util/number/_exp + local.set $e1|46 + local.get $exp_pow + local.set $e2|47 + local.get $e1|46 + local.get $e2|47 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.1 + end + local.set $wp_exp + block $~lib/util/number/umul64f|inlined.2 (result i64) + global.get $~lib/util/number/_frc_minus + local.set $u|49 + local.get $frc_pow + local.set $v|50 + local.get $u|49 + i64.const 4294967295 + i64.and + local.set $u0|51 + local.get $v|50 + i64.const 4294967295 + i64.and + local.set $v0|52 + local.get $u|49 + i64.const 32 + i64.shr_u + local.set $u1|53 + local.get $v|50 + i64.const 32 + i64.shr_u + local.set $v1|54 + local.get $u0|51 + local.get $v0|52 + i64.mul + local.set $l|55 + local.get $u1|53 + local.get $v0|52 + i64.mul + local.get $l|55 + i64.const 32 + i64.shr_u + i64.add + local.set $t|56 + local.get $u0|51 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.const 4294967295 + i64.and + i64.add + local.set $w|57 + local.get $w|57 + i64.const 2147483647 + i64.add + local.set $w|57 + local.get $t|56 + i64.const 32 + i64.shr_u + local.set $t|56 + local.get $w|57 + i64.const 32 + i64.shr_u + local.set $w|57 + local.get $u1|53 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.add + local.get $w|57 + i64.add + br $~lib/util/number/umul64f|inlined.2 + end + i64.const 1 + i64.add + local.set $wm_frc + local.get $wp_frc + local.get $wm_frc + i64.sub + local.set $delta + local.get $buffer|4 + local.get $w_frc + local.get $w_exp + local.get $wp_frc + local.get $wp_exp + local.get $delta + local.get $sign|5 + call $~lib/util/number/genDigits + br $~lib/util/number/grisu2|inlined.0 + end local.set $len local.get $buffer local.get $sign @@ -3845,11 +3930,13 @@ local.get $len local.get $sign i32.add + return ) (func $~lib/number/F32#toString (type $f32_i32_=>_i32) (param $this f32) (param $radix i32) (result i32) local.get $this f64.promote_f32 call $~lib/util/number/dtoa + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -3862,6 +3949,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -3965,6 +4053,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -4007,6 +4096,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/typedarray/Uint8Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $index @@ -4046,6 +4136,7 @@ local.get $index i32.add i32.load8_u $0 + return ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) loop $while-continue|0 @@ -4099,12 +4190,15 @@ (local $b64 i64) (local $b i64) (local $e i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -4166,6 +4260,7 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) @@ -4264,6 +4359,7 @@ i32.and local.get $radix call $~lib/util/number/utoa32 + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -4945,6 +5041,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/typedarray/Uint8Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -5160,5 +5257,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $12 + return ) ) diff --git a/tests/compiler/resolve-function-expression.debug.wat b/tests/compiler/resolve-function-expression.debug.wat index 3be5b496f0..847c6b26d2 100644 --- a/tests/compiler/resolve-function-expression.debug.wat +++ b/tests/compiler/resolve-function-expression.debug.wat @@ -67,6 +67,7 @@ local.get $a i32.const 41 i32.add + return ) (func $start:resolve-function-expression~anonymous|2 (type $i32_=>_i32) (param $a i32) (result i32) local.get $a @@ -146,6 +147,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -158,12 +160,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -321,6 +325,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -340,6 +345,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -457,6 +463,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -632,22 +639,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -672,16 +682,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -777,18 +790,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -812,18 +828,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -833,12 +852,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -986,22 +1008,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1046,16 +1071,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1110,10 +1138,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1229,6 +1260,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1411,6 +1443,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1645,6 +1678,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1723,6 +1757,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1738,6 +1773,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1828,16 +1864,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1870,16 +1909,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1893,46 +1935,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1969,10 +2018,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2092,30 +2144,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2186,6 +2244,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2198,6 +2257,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2260,6 +2320,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) (local $t i32) @@ -2453,12 +2514,15 @@ (local $b64 i64) (local $b i64) (local $e i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -2520,6 +2584,7 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) @@ -2616,6 +2681,7 @@ local.get $this local.get $radix call $~lib/util/number/itoa32 + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2628,6 +2694,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2731,6 +2798,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2773,6 +2841,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -3146,5 +3215,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) ) diff --git a/tests/compiler/resolve-function-expression.release.wat b/tests/compiler/resolve-function-expression.release.wat index 908e8c9164..e7aed9e6dd 100644 --- a/tests/compiler/resolve-function-expression.release.wat +++ b/tests/compiler/resolve-function-expression.release.wat @@ -1,8 +1,8 @@ (module (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $none_=>_none (func_subtype func)) - (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -120,6 +120,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1520 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 36216 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1520 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1520 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 3424 + i32.load $0 + i32.gt_u + if + i32.const 1648 + i32.const 1712 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 3428 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1671,6 +1803,7 @@ (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1791,41 +1924,41 @@ i32.ne br_if $__inlined_func$~lib/string/String.__eq drop - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $4 - i32.const 7 - i32.and - i32.eqz - local.get $1 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 + local.get $4 + i32.const 7 + i32.and + i32.eqz + local.get $1 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $4 + i64.load $0 + local.get $3 + i64.load $0 + i64.eq + if local.get $4 - i64.load $0 + i32.const 8 + i32.add + local.set $4 local.get $3 - i64.load $0 - i64.eq - if - local.get $4 - i32.const 8 - i32.add - local.set $4 - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 4 - i32.sub - local.tee $1 - i32.const 4 - i32.ge_u - br_if $do-loop|0 - end + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 4 + i32.sub + local.tee $1 + i32.const 4 + i32.ge_u + br_if $do-loop|0 end end + end + block $__inlined_func$~lib/util/string/compareImpl loop $while-continue|1 local.get $1 local.tee $0 @@ -1836,17 +1969,16 @@ if local.get $4 i32.load16_u $0 - local.tee $2 + local.tee $0 local.get $3 i32.load16_u $0 - local.tee $0 + local.tee $2 + i32.sub + local.set $5 + local.get $0 + local.get $2 i32.ne - if - local.get $2 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end + br_if $__inlined_func$~lib/util/string/compareImpl local.get $4 i32.const 2 i32.add @@ -1859,7 +1991,9 @@ end end i32.const 0 + local.set $5 end + local.get $5 i32.eqz end i32.eqz @@ -1877,146 +2011,18 @@ global.set $~lib/memory/__stack_pointer ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1520 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 36216 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1520 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1520 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 3424 - i32.load $0 - i32.gt_u - if - i32.const 1648 - i32.const 1712 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 3428 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 - local.get $0 - local.get $1 local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/resolve-localortype.debug.wat b/tests/compiler/resolve-localortype.debug.wat index fd36db85e9..79777611ef 100644 --- a/tests/compiler/resolve-localortype.debug.wat +++ b/tests/compiler/resolve-localortype.debug.wat @@ -13,10 +13,12 @@ (export "test" (func $export:resolve-localortype/test)) (func $resolve-localortype/foo<~lib/string/String> (type $i32_=>_i32) (param $s i32) (result i32) local.get $s + return ) (func $resolve-localortype/test (type $i32_=>_i32) (param $string i32) (result i32) local.get $string call $resolve-localortype/foo<~lib/string/String> + return ) (func $~stack_check (type $none_=>_none) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-new.debug.wat b/tests/compiler/resolve-new.debug.wat index a38a6a6afe..7c18fd6344 100644 --- a/tests/compiler/resolve-new.debug.wat +++ b/tests/compiler/resolve-new.debug.wat @@ -60,6 +60,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -72,12 +73,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -235,6 +238,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -254,6 +258,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -371,6 +376,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -546,22 +552,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -586,16 +595,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -691,18 +703,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -726,18 +741,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -747,12 +765,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -900,22 +921,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -960,16 +984,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1024,10 +1051,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1143,6 +1173,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1325,6 +1356,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1559,6 +1591,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1637,6 +1670,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1652,6 +1686,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1742,16 +1777,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1784,16 +1822,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1807,46 +1848,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1883,10 +1931,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2006,30 +2057,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2100,6 +2157,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2112,6 +2170,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2174,6 +2233,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $resolve-new/Foo#bar (type $i32_=>_none) (param $this i32) nop diff --git a/tests/compiler/resolve-new.release.wat b/tests/compiler/resolve-new.release.wat index b5f506b1bb..2b7e040bbf 100644 --- a/tests/compiler/resolve-new.release.wat +++ b/tests/compiler/resolve-new.release.wat @@ -1,9 +1,9 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -84,6 +84,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34232 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1440 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1391,146 +1523,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34232 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1444 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/resolve-propertyaccess.debug.wat b/tests/compiler/resolve-propertyaccess.debug.wat index 7a9f58e542..6cd1305bfe 100644 --- a/tests/compiler/resolve-propertyaccess.debug.wat +++ b/tests/compiler/resolve-propertyaccess.debug.wat @@ -147,6 +147,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -159,12 +160,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -322,6 +325,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -341,6 +345,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -458,6 +463,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -633,22 +639,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -673,16 +682,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -778,18 +790,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -813,18 +828,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -834,12 +852,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -987,22 +1008,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1047,16 +1071,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1111,10 +1138,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1230,6 +1260,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1412,6 +1443,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1646,6 +1678,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1724,6 +1757,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1739,6 +1773,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1829,16 +1864,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1871,16 +1909,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1894,46 +1935,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1970,10 +2018,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2093,30 +2144,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2187,6 +2244,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2199,6 +2257,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2261,6 +2320,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) (local $t i32) @@ -2454,12 +2514,15 @@ (local $b64 i64) (local $b i64) (local $e i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -2521,6 +2584,7 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) @@ -2617,6 +2681,7 @@ local.get $this local.get $radix call $~lib/util/number/itoa32 + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2629,6 +2694,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2732,6 +2798,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2774,9 +2841,11 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $resolve-propertyaccess/Class.get:staticProperty (type $none_=>_i32) (result i32) i32.const 7 + return ) (func $resolve-propertyaccess/Class#set:instanceField (type $i32_i32_=>_none) (param $this i32) (param $instanceField i32) local.get $this @@ -2789,6 +2858,7 @@ ) (func $resolve-propertyaccess/Class#get:instanceProperty (type $i32_=>_i32) (param $this i32) (result i32) i32.const 8 + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -3377,6 +3447,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) diff --git a/tests/compiler/resolve-propertyaccess.release.wat b/tests/compiler/resolve-propertyaccess.release.wat index 2061f5eee3..2846d466d2 100644 --- a/tests/compiler/resolve-propertyaccess.release.wat +++ b/tests/compiler/resolve-propertyaccess.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -119,6 +119,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 36472 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 3680 + i32.load $0 + i32.gt_u + if + i32.const 1472 + i32.const 1536 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 3684 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -2168,146 +2300,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 36472 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 3680 - i32.load $0 - i32.gt_u - if - i32.const 1472 - i32.const 1536 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 3684 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/resolve-ternary.debug.wat b/tests/compiler/resolve-ternary.debug.wat index 1b20f6ae07..84739b2f4d 100644 --- a/tests/compiler/resolve-ternary.debug.wat +++ b/tests/compiler/resolve-ternary.debug.wat @@ -154,6 +154,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -166,12 +167,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -329,6 +332,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -348,6 +352,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -465,6 +470,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -640,22 +646,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -680,16 +689,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -785,18 +797,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -820,18 +835,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -841,12 +859,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -994,22 +1015,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1054,16 +1078,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1118,10 +1145,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1237,6 +1267,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1419,6 +1450,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1653,6 +1685,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1731,6 +1764,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1746,6 +1780,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1836,16 +1871,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1878,16 +1916,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1901,46 +1942,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1977,10 +2025,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2100,30 +2151,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2194,6 +2251,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2206,6 +2264,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2268,6 +2327,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) (local $t i32) @@ -2461,12 +2521,15 @@ (local $b64 i64) (local $b i64) (local $e i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -2528,6 +2591,7 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) @@ -2624,6 +2688,7 @@ local.get $this local.get $radix call $~lib/util/number/itoa32 + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2636,6 +2701,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2739,6 +2805,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2781,6 +2848,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/util/number/genDigits (type $i32_i64_i32_i64_i32_i64_i32_=>_i32) (param $buffer i32) (param $w_frc i64) (param $w_exp i32) (param $mp_frc i64) (param $mp_exp i32) (param $delta i64) (param $sign i32) (result i32) (local $one_exp i32) @@ -3479,51 +3547,54 @@ local.get $buffer i32.const 101 i32.store16 $0 offset=2 - local.get $buffer - i32.const 4 - i32.add - local.set $buffer|8 - local.get $kk - i32.const 1 - i32.sub - local.set $k|9 - local.get $k|9 - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 0 - local.get $k|9 + block $~lib/util/number/genExponent|inlined.0 (result i32) + local.get $buffer + i32.const 4 + i32.add + local.set $buffer|8 + local.get $kk + i32.const 1 i32.sub local.set $k|9 + local.get $k|9 + i32.const 0 + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 0 + local.get $k|9 + i32.sub + local.set $k|9 + end + local.get $k|9 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 + local.set $num + local.get $decimals + local.set $offset|14 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|12 + local.get $num + local.get $offset|14 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|8 + i32.const 45 + i32.const 43 + local.get $sign + select + i32.store16 $0 + local.get $decimals + br $~lib/util/number/genExponent|inlined.0 end - local.get $k|9 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals - local.get $buffer|8 - local.set $buffer|12 - local.get $k|9 - local.set $num - local.get $decimals - local.set $offset|14 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|12 - local.get $num - local.get $offset|14 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|8 - i32.const 45 - i32.const 43 - local.get $sign - select - i32.store16 $0 - local.get $decimals local.set $length local.get $length i32.const 2 @@ -3553,53 +3624,56 @@ i32.const 101 i32.store16 $0 offset=2 local.get $length - local.get $buffer - local.get $len - i32.add - i32.const 4 - i32.add - local.set $buffer|16 - local.get $kk - i32.const 1 - i32.sub - local.set $k|17 - local.get $k|17 - i32.const 0 - i32.lt_s - local.set $sign|18 - local.get $sign|18 - if - i32.const 0 - local.get $k|17 + block $~lib/util/number/genExponent|inlined.1 (result i32) + local.get $buffer + local.get $len + i32.add + i32.const 4 + i32.add + local.set $buffer|16 + local.get $kk + i32.const 1 i32.sub local.set $k|17 + local.get $k|17 + i32.const 0 + i32.lt_s + local.set $sign|18 + local.get $sign|18 + if + i32.const 0 + local.get $k|17 + i32.sub + local.set $k|17 + end + local.get $k|17 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|16 + i32.const 45 + i32.const 43 + local.get $sign|18 + select + i32.store16 $0 + local.get $decimals|19 + br $~lib/util/number/genExponent|inlined.1 end - local.get $k|17 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals|19 - local.get $buffer|16 - local.set $buffer|20 - local.get $k|17 - local.set $num|21 - local.get $decimals|19 - local.set $offset|22 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|20 - local.get $num|21 - local.get $offset|22 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|16 - i32.const 45 - i32.const 43 - local.get $sign|18 - select - i32.store16 $0 - local.get $decimals|19 i32.add local.set $length local.get $length @@ -3688,375 +3762,393 @@ i32.const 45 i32.store16 $0 end - local.get $value - local.set $value|3 - local.get $buffer - local.set $buffer|4 - local.get $sign - local.set $sign|5 - local.get $value|3 - i64.reinterpret_f64 - local.set $uv - local.get $uv - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $exp - local.get $uv - i64.const 4503599627370495 - i64.and - local.set $sid - local.get $exp - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $sid - i64.add - local.set $frc - local.get $exp - i32.const 1 - local.get $exp - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $exp - local.get $frc - local.set $f - local.get $exp - local.set $e - local.get $f - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $frc|12 - local.get $e - i32.const 1 - i32.sub - local.set $exp|13 - local.get $frc|12 - i64.clz - i32.wrap_i64 - local.set $off - local.get $frc|12 - local.get $off - i64.extend_i32_s - i64.shl - local.set $frc|12 - local.get $exp|13 - local.get $off - i32.sub - local.set $exp|13 - i32.const 1 - local.get $f - i64.const 4503599627370496 - i64.eq - i32.add - local.set $m - local.get $frc|12 - global.set $~lib/util/number/_frc_plus - local.get $f - local.get $m - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $e - local.get $m - i32.sub - local.get $exp|13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $exp|13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $minExp - i32.const -61 - local.get $minExp - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $dk - local.get $dk - i32.trunc_sat_f64_s - local.set $k - local.get $k - local.get $k - f64.convert_i32_s - local.get $dk - f64.ne - i32.add - local.set $k - local.get $k - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.set $index - i32.const 348 - local.get $index - i32.const 3 - i32.shl - i32.sub - global.set $~lib/util/number/_K - i32.const 2504 - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - i32.const 3200 - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $frc - i64.clz - i32.wrap_i64 - local.set $off|20 - local.get $frc - local.get $off|20 - i64.extend_i32_s - i64.shl - local.set $frc - local.get $exp - local.get $off|20 - i32.sub - local.set $exp - global.get $~lib/util/number/_frc_pow - local.set $frc_pow - global.get $~lib/util/number/_exp_pow - local.set $exp_pow - local.get $frc - local.set $u - local.get $frc_pow - local.set $v - local.get $u - i64.const 4294967295 - i64.and - local.set $u0 - local.get $v - i64.const 4294967295 - i64.and - local.set $v0 - local.get $u - i64.const 32 - i64.shr_u - local.set $u1 - local.get $v - i64.const 32 - i64.shr_u - local.set $v1 - local.get $u0 - local.get $v0 - i64.mul - local.set $l - local.get $u1 - local.get $v0 - i64.mul - local.get $l - i64.const 32 - i64.shr_u - i64.add - local.set $t - local.get $u0 - local.get $v1 - i64.mul - local.get $t - i64.const 4294967295 - i64.and - i64.add - local.set $w - local.get $w - i64.const 2147483647 - i64.add - local.set $w - local.get $t - i64.const 32 - i64.shr_u - local.set $t - local.get $w - i64.const 32 - i64.shr_u - local.set $w - local.get $u1 - local.get $v1 - i64.mul - local.get $t - i64.add - local.get $w - i64.add - local.set $w_frc - local.get $exp - local.set $e1 - local.get $exp_pow - local.set $e2 - local.get $e1 - local.get $e2 - i32.add - i32.const 64 - i32.add - local.set $w_exp - global.get $~lib/util/number/_frc_plus - local.set $u|36 - local.get $frc_pow - local.set $v|37 - local.get $u|36 - i64.const 4294967295 - i64.and - local.set $u0|38 - local.get $v|37 - i64.const 4294967295 - i64.and - local.set $v0|39 - local.get $u|36 - i64.const 32 - i64.shr_u - local.set $u1|40 - local.get $v|37 - i64.const 32 - i64.shr_u - local.set $v1|41 - local.get $u0|38 - local.get $v0|39 - i64.mul - local.set $l|42 - local.get $u1|40 - local.get $v0|39 - i64.mul - local.get $l|42 - i64.const 32 - i64.shr_u - i64.add - local.set $t|43 - local.get $u0|38 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.const 4294967295 - i64.and - i64.add - local.set $w|44 - local.get $w|44 - i64.const 2147483647 - i64.add - local.set $w|44 - local.get $t|43 - i64.const 32 - i64.shr_u - local.set $t|43 - local.get $w|44 - i64.const 32 - i64.shr_u - local.set $w|44 - local.get $u1|40 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.add - local.get $w|44 - i64.add - i64.const 1 - i64.sub - local.set $wp_frc - global.get $~lib/util/number/_exp - local.set $e1|46 - local.get $exp_pow - local.set $e2|47 - local.get $e1|46 - local.get $e2|47 - i32.add - i32.const 64 - i32.add - local.set $wp_exp - global.get $~lib/util/number/_frc_minus - local.set $u|49 - local.get $frc_pow - local.set $v|50 - local.get $u|49 - i64.const 4294967295 - i64.and - local.set $u0|51 - local.get $v|50 - i64.const 4294967295 - i64.and - local.set $v0|52 - local.get $u|49 - i64.const 32 - i64.shr_u - local.set $u1|53 - local.get $v|50 - i64.const 32 - i64.shr_u - local.set $v1|54 - local.get $u0|51 - local.get $v0|52 - i64.mul - local.set $l|55 - local.get $u1|53 - local.get $v0|52 - i64.mul - local.get $l|55 - i64.const 32 - i64.shr_u - i64.add - local.set $t|56 - local.get $u0|51 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.const 4294967295 - i64.and - i64.add - local.set $w|57 - local.get $w|57 - i64.const 2147483647 - i64.add - local.set $w|57 - local.get $t|56 - i64.const 32 - i64.shr_u - local.set $t|56 - local.get $w|57 - i64.const 32 - i64.shr_u - local.set $w|57 - local.get $u1|53 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.add - local.get $w|57 - i64.add - i64.const 1 - i64.add - local.set $wm_frc - local.get $wp_frc - local.get $wm_frc - i64.sub - local.set $delta - local.get $buffer|4 - local.get $w_frc - local.get $w_exp - local.get $wp_frc - local.get $wp_exp - local.get $delta - local.get $sign|5 - call $~lib/util/number/genDigits + block $~lib/util/number/grisu2|inlined.0 (result i32) + local.get $value + local.set $value|3 + local.get $buffer + local.set $buffer|4 + local.get $sign + local.set $sign|5 + local.get $value|3 + i64.reinterpret_f64 + local.set $uv + local.get $uv + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv + i64.const 4503599627370495 + i64.and + local.set $sid + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid + i64.add + local.set $frc + local.get $exp + i32.const 1 + local.get $exp + select + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $exp + local.get $frc + local.set $f + local.get $exp + local.set $e + local.get $f + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $frc|12 + local.get $e + i32.const 1 + i32.sub + local.set $exp|13 + local.get $frc|12 + i64.clz + i32.wrap_i64 + local.set $off + local.get $frc|12 + local.get $off + i64.extend_i32_s + i64.shl + local.set $frc|12 + local.get $exp|13 + local.get $off + i32.sub + local.set $exp|13 + i32.const 1 + local.get $f + i64.const 4503599627370496 + i64.eq + i32.add + local.set $m + local.get $frc|12 + global.set $~lib/util/number/_frc_plus + local.get $f + local.get $m + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $e + local.get $m + i32.sub + local.get $exp|13 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $exp|13 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $minExp + i32.const -61 + local.get $minExp + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.set $dk + local.get $dk + i32.trunc_sat_f64_s + local.set $k + local.get $k + local.get $k + f64.convert_i32_s + local.get $dk + f64.ne + i32.add + local.set $k + local.get $k + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.set $index + i32.const 348 + local.get $index + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 2504 + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + global.set $~lib/util/number/_frc_pow + i32.const 3200 + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + global.set $~lib/util/number/_exp_pow + local.get $frc + i64.clz + i32.wrap_i64 + local.set $off|20 + local.get $frc + local.get $off|20 + i64.extend_i32_s + i64.shl + local.set $frc + local.get $exp + local.get $off|20 + i32.sub + local.set $exp + global.get $~lib/util/number/_frc_pow + local.set $frc_pow + global.get $~lib/util/number/_exp_pow + local.set $exp_pow + block $~lib/util/number/umul64f|inlined.0 (result i64) + local.get $frc + local.set $u + local.get $frc_pow + local.set $v + local.get $u + i64.const 4294967295 + i64.and + local.set $u0 + local.get $v + i64.const 4294967295 + i64.and + local.set $v0 + local.get $u + i64.const 32 + i64.shr_u + local.set $u1 + local.get $v + i64.const 32 + i64.shr_u + local.set $v1 + local.get $u0 + local.get $v0 + i64.mul + local.set $l + local.get $u1 + local.get $v0 + i64.mul + local.get $l + i64.const 32 + i64.shr_u + i64.add + local.set $t + local.get $u0 + local.get $v1 + i64.mul + local.get $t + i64.const 4294967295 + i64.and + i64.add + local.set $w + local.get $w + i64.const 2147483647 + i64.add + local.set $w + local.get $t + i64.const 32 + i64.shr_u + local.set $t + local.get $w + i64.const 32 + i64.shr_u + local.set $w + local.get $u1 + local.get $v1 + i64.mul + local.get $t + i64.add + local.get $w + i64.add + br $~lib/util/number/umul64f|inlined.0 + end + local.set $w_frc + block $~lib/util/number/umul64e|inlined.0 (result i32) + local.get $exp + local.set $e1 + local.get $exp_pow + local.set $e2 + local.get $e1 + local.get $e2 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.0 + end + local.set $w_exp + block $~lib/util/number/umul64f|inlined.1 (result i64) + global.get $~lib/util/number/_frc_plus + local.set $u|36 + local.get $frc_pow + local.set $v|37 + local.get $u|36 + i64.const 4294967295 + i64.and + local.set $u0|38 + local.get $v|37 + i64.const 4294967295 + i64.and + local.set $v0|39 + local.get $u|36 + i64.const 32 + i64.shr_u + local.set $u1|40 + local.get $v|37 + i64.const 32 + i64.shr_u + local.set $v1|41 + local.get $u0|38 + local.get $v0|39 + i64.mul + local.set $l|42 + local.get $u1|40 + local.get $v0|39 + i64.mul + local.get $l|42 + i64.const 32 + i64.shr_u + i64.add + local.set $t|43 + local.get $u0|38 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.const 4294967295 + i64.and + i64.add + local.set $w|44 + local.get $w|44 + i64.const 2147483647 + i64.add + local.set $w|44 + local.get $t|43 + i64.const 32 + i64.shr_u + local.set $t|43 + local.get $w|44 + i64.const 32 + i64.shr_u + local.set $w|44 + local.get $u1|40 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.add + local.get $w|44 + i64.add + br $~lib/util/number/umul64f|inlined.1 + end + i64.const 1 + i64.sub + local.set $wp_frc + block $~lib/util/number/umul64e|inlined.1 (result i32) + global.get $~lib/util/number/_exp + local.set $e1|46 + local.get $exp_pow + local.set $e2|47 + local.get $e1|46 + local.get $e2|47 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.1 + end + local.set $wp_exp + block $~lib/util/number/umul64f|inlined.2 (result i64) + global.get $~lib/util/number/_frc_minus + local.set $u|49 + local.get $frc_pow + local.set $v|50 + local.get $u|49 + i64.const 4294967295 + i64.and + local.set $u0|51 + local.get $v|50 + i64.const 4294967295 + i64.and + local.set $v0|52 + local.get $u|49 + i64.const 32 + i64.shr_u + local.set $u1|53 + local.get $v|50 + i64.const 32 + i64.shr_u + local.set $v1|54 + local.get $u0|51 + local.get $v0|52 + i64.mul + local.set $l|55 + local.get $u1|53 + local.get $v0|52 + i64.mul + local.get $l|55 + i64.const 32 + i64.shr_u + i64.add + local.set $t|56 + local.get $u0|51 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.const 4294967295 + i64.and + i64.add + local.set $w|57 + local.get $w|57 + i64.const 2147483647 + i64.add + local.set $w|57 + local.get $t|56 + i64.const 32 + i64.shr_u + local.set $t|56 + local.get $w|57 + i64.const 32 + i64.shr_u + local.set $w|57 + local.get $u1|53 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.add + local.get $w|57 + i64.add + br $~lib/util/number/umul64f|inlined.2 + end + i64.const 1 + i64.add + local.set $wm_frc + local.get $wp_frc + local.get $wm_frc + i64.sub + local.set $delta + local.get $buffer|4 + local.get $w_frc + local.get $w_exp + local.get $wp_frc + local.get $wp_exp + local.get $delta + local.get $sign|5 + call $~lib/util/number/genDigits + br $~lib/util/number/grisu2|inlined.0 + end local.set $len local.get $buffer local.get $sign @@ -4072,10 +4164,12 @@ local.get $len local.get $sign i32.add + return ) (func $~lib/number/F64#toString (type $f64_i32_=>_i32) (param $this f64) (param $radix i32) (result i32) local.get $this call $~lib/util/number/dtoa + return ) (func $start:resolve-ternary~anonymous|0 (type $i32_=>_i32) (param $x i32) (result i32) local.get $x @@ -4091,11 +4185,13 @@ local.get $x i32.const 3 i32.add + return ) (func $resolve-ternary/g2 (type $i32_=>_i32) (param $x i32) (result i32) local.get $x i32.const 4 i32.add + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -4530,6 +4626,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/util/number/dtoa (type $f64_=>_i32) (param $value f64) (result i32) (local $size i32) @@ -4613,5 +4710,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) ) diff --git a/tests/compiler/resolve-ternary.release.wat b/tests/compiler/resolve-ternary.release.wat index 144902f809..02fcc22a7b 100644 --- a/tests/compiler/resolve-ternary.release.wat +++ b/tests/compiler/resolve-ternary.release.wat @@ -1,10 +1,10 @@ (module (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i64_i64_i32_i64_=>_i32 (func_subtype (param i64 i64 i32 i64) (result i32) func)) @@ -124,6 +124,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 37400 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 4608 + i32.load $0 + i32.gt_u + if + i32.const 1472 + i32.const 1536 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 4612 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -2729,146 +2861,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 37400 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 4608 - i32.load $0 - i32.gt_u - if - i32.const 1472 - i32.const 1536 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 4612 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/resolve-unary.debug.wat b/tests/compiler/resolve-unary.debug.wat index f52e2298f7..26e73cbc76 100644 --- a/tests/compiler/resolve-unary.debug.wat +++ b/tests/compiler/resolve-unary.debug.wat @@ -147,6 +147,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -159,12 +160,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -322,6 +325,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -341,6 +345,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -458,6 +463,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -633,22 +639,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -673,16 +682,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -778,18 +790,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -813,18 +828,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -834,12 +852,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -987,22 +1008,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1047,16 +1071,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1111,10 +1138,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1230,6 +1260,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1412,6 +1443,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1646,6 +1678,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1724,6 +1757,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1739,6 +1773,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1829,16 +1864,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1871,16 +1909,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1894,46 +1935,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1970,10 +2018,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2093,30 +2144,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2187,6 +2244,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2199,6 +2257,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2261,6 +2320,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) (local $t i32) @@ -2454,12 +2514,15 @@ (local $b64 i64) (local $b i64) (local $e i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -2521,6 +2584,7 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) @@ -2617,6 +2681,7 @@ local.get $this local.get $radix call $~lib/util/number/itoa32 + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2629,6 +2694,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2732,6 +2798,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2774,6 +2841,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/number/Bool#toString (type $i32_i32_=>_i32) (param $this i32) (param $radix i32) (result i32) local.get $this @@ -2782,48 +2850,63 @@ else i32.const 2400 end + return ) (func $resolve-unary/Foo#plus (type $i32_=>_i32) (param $this i32) (result i32) i32.const 2464 + return ) (func $~lib/string/String#toString (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + return ) (func $resolve-unary/Foo#minus (type $i32_=>_i32) (param $this i32) (result i32) i32.const 2496 + return ) (func $resolve-unary/Foo#prefix_inc (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + return ) (func $resolve-unary/Foo#self (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + return ) (func $resolve-unary/Foo#prefix_dec (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + return ) (func $resolve-unary/Foo#not (type $i32_=>_i32) (param $this i32) (result i32) i32.const 2528 + return ) (func $resolve-unary/Foo#bitwise_not (type $i32_=>_i32) (param $this i32) (result i32) i32.const 2560 + return ) (func $resolve-unary/Foo#postfix_inc (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + return ) (func $resolve-unary/Foo#postfix_dec (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + return ) (func $resolve-unary/Bar.prefix_inc (type $i32_=>_i32) (param $a i32) (result i32) i32.const 2592 + return ) (func $resolve-unary/Bar.prefix_dec (type $i32_=>_i32) (param $a i32) (result i32) i32.const 2624 + return ) (func $resolve-unary/Bar.postfix_inc (type $i32_=>_i32) (param $a i32) (result i32) i32.const 2656 + return ) (func $resolve-unary/Bar.postfix_dec (type $i32_=>_i32) (param $a i32) (result i32) i32.const 2688 + return ) (func $start:resolve-unary~anonymous|0 (type $none_=>_none) nop @@ -3809,6 +3892,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) diff --git a/tests/compiler/resolve-unary.release.wat b/tests/compiler/resolve-unary.release.wat index add39c7076..391ca9b57f 100644 --- a/tests/compiler/resolve-unary.release.wat +++ b/tests/compiler/resolve-unary.release.wat @@ -1,9 +1,9 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -145,6 +145,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 36640 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 3840 + i32.load $0 + i32.gt_u + if + i32.const 1472 + i32.const 1536 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 3844 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -2496,146 +2628,18 @@ local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 36640 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 3840 - i32.load $0 - i32.gt_u - if - i32.const 1472 - i32.const 1536 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 3844 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/return-unreachable.debug.wat b/tests/compiler/return-unreachable.debug.wat index 0ff352aeba..94ddef9687 100644 --- a/tests/compiler/return-unreachable.debug.wat +++ b/tests/compiler/return-unreachable.debug.wat @@ -63,6 +63,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -75,12 +76,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -238,6 +241,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -257,6 +261,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -374,6 +379,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -549,22 +555,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -589,16 +598,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -694,18 +706,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -729,18 +744,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -750,12 +768,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -903,22 +924,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -963,16 +987,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1027,10 +1054,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1146,6 +1176,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1328,6 +1359,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1562,6 +1594,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1640,6 +1673,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1655,6 +1689,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1745,16 +1780,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1787,16 +1825,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1810,46 +1851,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1886,10 +1934,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2009,30 +2060,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2103,6 +2160,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2115,6 +2173,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2177,6 +2236,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) diff --git a/tests/compiler/return.debug.wat b/tests/compiler/return.debug.wat index ff3f41fbac..96d2dbeb78 100644 --- a/tests/compiler/return.debug.wat +++ b/tests/compiler/return.debug.wat @@ -37,6 +37,7 @@ local.get $fn i32.load $0 call_indirect $0 (type $none_=>_none) + return ) (func $return/testVoidReturn (type $i32_=>_none) (param $cond i32) local.get $cond @@ -45,6 +46,7 @@ return end call $return/nop + return ) (func $~start (type $none_=>_none) call $start:return diff --git a/tests/compiler/rt/finalize.debug.wat b/tests/compiler/rt/finalize.debug.wat index 89d8d66443..e4bf15af24 100644 --- a/tests/compiler/rt/finalize.debug.wat +++ b/tests/compiler/rt/finalize.debug.wat @@ -63,6 +63,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -75,12 +76,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -238,6 +241,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -257,6 +261,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -374,6 +379,7 @@ i32.xor i32.and i32.add + return ) (func $rt/finalize/__finalize (type $i32_=>_none) (param $ptr i32) local.get $ptr @@ -565,22 +571,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -605,16 +614,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -710,18 +722,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -745,18 +760,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -766,12 +784,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -919,22 +940,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -979,16 +1003,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1043,10 +1070,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1162,6 +1192,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1344,6 +1375,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1582,6 +1614,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1660,6 +1693,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1675,6 +1709,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1765,16 +1800,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1807,16 +1845,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1830,46 +1871,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1906,10 +1954,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2029,30 +2080,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2123,6 +2180,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2135,6 +2193,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2197,6 +2256,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__collect (type $none_=>_none) i32.const 0 diff --git a/tests/compiler/rt/finalize.release.wat b/tests/compiler/rt/finalize.release.wat index f5fc3627ec..eb99135e58 100644 --- a/tests/compiler/rt/finalize.release.wat +++ b/tests/compiler/rt/finalize.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -82,6 +82,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34280 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1488 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1424,146 +1556,18 @@ end ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34280 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1492 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/rt/flags.debug.wat b/tests/compiler/rt/flags.debug.wat index a602b77ef6..e1235d9ec9 100644 --- a/tests/compiler/rt/flags.debug.wat +++ b/tests/compiler/rt/flags.debug.wat @@ -50,6 +50,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $rt/flags/test<~lib/typedarray/Int8Array> (type $i32_=>_none) (param $flags i32) i32.const 4 diff --git a/tests/compiler/rt/runtime-incremental-export.debug.wat b/tests/compiler/rt/runtime-incremental-export.debug.wat index 1cf98d7848..15f4832cef 100644 --- a/tests/compiler/rt/runtime-incremental-export.debug.wat +++ b/tests/compiler/rt/runtime-incremental-export.debug.wat @@ -66,6 +66,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -78,12 +79,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -241,6 +244,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -260,6 +264,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -377,6 +382,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -552,22 +558,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -592,16 +601,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -697,18 +709,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -732,18 +747,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -753,12 +771,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -906,22 +927,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -966,16 +990,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1030,10 +1057,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1149,6 +1179,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1331,6 +1362,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1565,6 +1597,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1643,6 +1676,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1658,6 +1692,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1748,16 +1783,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1790,16 +1828,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1813,46 +1854,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1889,10 +1937,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2012,30 +2063,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2106,6 +2163,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2118,6 +2176,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2180,6 +2239,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__pin (type $i32_=>_i32) (param $ptr i32) (result i32) (local $obj i32) @@ -2209,6 +2269,7 @@ call $~lib/rt/itcms/Object#linkTo end local.get $ptr + return ) (func $~lib/rt/itcms/__unpin (type $i32_=>_none) (param $ptr i32) (local $obj i32) diff --git a/tests/compiler/rt/runtime-minimal-export.debug.wat b/tests/compiler/rt/runtime-minimal-export.debug.wat index 5d9092d426..cc3634f593 100644 --- a/tests/compiler/rt/runtime-minimal-export.debug.wat +++ b/tests/compiler/rt/runtime-minimal-export.debug.wat @@ -214,22 +214,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -254,16 +257,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -359,18 +365,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -394,18 +403,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -415,12 +427,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -568,22 +583,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -628,16 +646,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -692,10 +713,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -811,6 +835,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -976,6 +1001,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -991,6 +1017,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1081,16 +1108,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1123,16 +1153,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1146,46 +1179,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1222,10 +1262,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -1345,30 +1388,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -1439,6 +1488,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -1451,6 +1501,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/tcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -1480,6 +1531,7 @@ local.get $space call $~lib/rt/tcms/Object#set:prev local.get $space + return ) (func $~lib/rt/tcms/Object#get:prev (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -1528,6 +1580,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tcms/__new (type $i32_i32_=>_i32) (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -1567,12 +1620,14 @@ local.get $obj i32.const 20 i32.add + return ) (func $~lib/rt/tcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/tcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/tcms/Object#get:next (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -1581,6 +1636,7 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/tcms/Object#unlink (type $i32_=>_none) (param $this i32) (local $next i32) @@ -1666,6 +1722,7 @@ call $~lib/rt/tcms/Object#linkTo end local.get $ptr + return ) (func $~lib/rt/tcms/__unpin (type $i32_=>_none) (param $ptr i32) (local $obj i32) @@ -1733,6 +1790,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 diff --git a/tests/compiler/rt/runtime-minimal-export.release.wat b/tests/compiler/rt/runtime-minimal-export.release.wat index 032cee0979..6e0a7de3ea 100644 --- a/tests/compiler/rt/runtime-minimal-export.release.wat +++ b/tests/compiler/rt/runtime-minimal-export.release.wat @@ -1167,11 +1167,11 @@ (local $5 i32) (local $6 i32) i32.const 1056 - call $byn-split-outlined-A$~lib/rt/tcms/__visit + call $byn-split-outlined-A$~lib/rt/tcms/__visit_0 i32.const 1280 - call $byn-split-outlined-A$~lib/rt/tcms/__visit + call $byn-split-outlined-A$~lib/rt/tcms/__visit_0 i32.const 1376 - call $byn-split-outlined-A$~lib/rt/tcms/__visit + call $byn-split-outlined-A$~lib/rt/tcms/__visit_0 global.get $~lib/rt/tcms/pinSpace local.tee $1 i32.load $0 offset=4 @@ -1369,6 +1369,8 @@ global.set $~lib/rt/tcms/white ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) block $invalid block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String @@ -1390,8 +1392,43 @@ i32.load $0 local.tee $0 if + global.get $~lib/rt/tcms/white local.get $0 - call $byn-split-outlined-A$~lib/rt/tcms/__visit + i32.const 20 + i32.sub + local.tee $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $1 + call $~lib/rt/tcms/Object#unlink + global.get $~lib/rt/tcms/toSpace + local.tee $0 + i32.load $0 offset=8 + local.set $2 + local.get $1 + local.get $0 + global.get $~lib/rt/tcms/white + i32.eqz + i32.or + i32.store $0 offset=4 + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + end end return end @@ -1423,7 +1460,7 @@ i32.const 1424 global.set $~lib/rt/tcms/toSpace ) - (func $byn-split-outlined-A$~lib/rt/tcms/__visit (type $i32_=>_none) (param $0 i32) + (func $byn-split-outlined-A$~lib/rt/tcms/__visit_0 (type $i32_=>_none) (param $0 i32) (local $1 i32) (local $2 i32) global.get $~lib/rt/tcms/white diff --git a/tests/compiler/rt/runtime-stub-export.debug.wat b/tests/compiler/rt/runtime-stub-export.debug.wat index 76867e18f5..679de591d2 100644 --- a/tests/compiler/rt/runtime-stub-export.debug.wat +++ b/tests/compiler/rt/runtime-stub-export.debug.wat @@ -111,19 +111,22 @@ i32.const 4 i32.add local.set $ptr - local.get $size - local.set $size|3 - local.get $size|3 - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub + block $~lib/rt/stub/computeSize|inlined.0 (result i32) + local.get $size + local.set $size|3 + local.get $size|3 + i32.const 4 + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + i32.const 4 + i32.sub + br $~lib/rt/stub/computeSize|inlined.0 + end local.set $payloadSize local.get $ptr local.get $payloadSize @@ -133,6 +136,7 @@ local.get $payloadSize call $~lib/rt/common/BLOCK#set:mmInfo local.get $ptr + return ) (func $~lib/rt/common/OBJECT#set:gcInfo (type $i32_i32_=>_none) (param $this i32) (param $gcInfo i32) local.get $this @@ -192,9 +196,11 @@ local.get $ptr i32.const 16 i32.add + return ) (func $~lib/rt/stub/__pin (type $i32_=>_i32) (param $ptr i32) (result i32) local.get $ptr + return ) (func $~lib/rt/stub/__unpin (type $i32_=>_none) (param $ptr i32) nop diff --git a/tests/compiler/simd.debug.wat b/tests/compiler/simd.debug.wat index 7210d5fda9..50eff3757f 100644 --- a/tests/compiler/simd.debug.wat +++ b/tests/compiler/simd.debug.wat @@ -98,6 +98,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -110,12 +111,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -273,6 +276,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -292,6 +296,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -409,6 +414,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -584,22 +590,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -624,16 +633,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -729,18 +741,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -764,18 +779,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -785,12 +803,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -938,22 +959,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -998,16 +1022,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1062,10 +1089,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1181,6 +1211,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1363,6 +1394,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1597,6 +1629,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1675,6 +1708,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1690,6 +1724,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1780,16 +1815,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1822,16 +1860,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1845,46 +1886,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1921,10 +1969,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2044,30 +2095,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2138,6 +2195,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2150,6 +2208,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2212,6 +2271,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/__newBuffer (type $i32_i32_i32_=>_i32) (param $size i32) (param $id i32) (param $data i32) (result i32) (local $buffer i32) @@ -2227,6 +2287,7 @@ memory.copy $0 $0 end local.get $buffer + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2329,6 +2390,7 @@ i32.const 0 drop local.get $value + return ) (func $simd/test_v128 (type $none_=>_none) (local $ptr i32) @@ -6532,6 +6594,7 @@ v128.const i32x4 0x00000001 0x00000001 0x00000001 0x00000001 local.set $one local.get $one + return ) (func $start:simd (type $none_=>_none) (local $0 i32) @@ -6616,6 +6679,7 @@ local.get $a local.get $a i32x4.mul + return ) (func $simd/test_vars_i8x16_partial (type $i32_i32_i32_=>_v128) (param $a i32) (param $b i32) (param $c i32) (result v128) v128.const i32x4 0x03000100 0x07000504 0x0b0a0908 0x000e0d0c @@ -6625,6 +6689,7 @@ i8x16.replace_lane 6 local.get $c i8x16.replace_lane 15 + return ) (func $simd/test_vars_i8x16_full (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_v128) (param $a i32) (param $b i32) (param $c i32) (param $d i32) (param $e i32) (param $f i32) (param $g i32) (param $h i32) (param $i i32) (param $k i32) (param $l i32) (param $m i32) (param $n i32) (param $o i32) (param $p i32) (param $q i32) (result v128) local.get $a @@ -6659,6 +6724,7 @@ i8x16.replace_lane 14 local.get $q i8x16.replace_lane 15 + return ) (func $simd/test_vars_i16x8_partial (type $i32_i32_i32_=>_v128) (param $a i32) (param $b i32) (param $c i32) (result v128) v128.const i32x4 0x00010000 0x00030000 0x00050000 0x00000006 @@ -6668,6 +6734,7 @@ i16x8.replace_lane 4 local.get $c i16x8.replace_lane 7 + return ) (func $simd/test_vars_i16x8_full (type $i32_i32_i32_i32_i32_i32_i32_i32_=>_v128) (param $a i32) (param $b i32) (param $c i32) (param $d i32) (param $e i32) (param $f i32) (param $g i32) (param $h i32) (result v128) local.get $a @@ -6686,6 +6753,7 @@ i16x8.replace_lane 6 local.get $h i16x8.replace_lane 7 + return ) (func $simd/test_vars_i32x4_partial (type $i32_i32_i32_=>_v128) (param $a i32) (param $b i32) (param $c i32) (result v128) v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 @@ -6695,6 +6763,7 @@ i32x4.replace_lane 2 local.get $c i32x4.replace_lane 3 + return ) (func $simd/test_vars_i32x4_full (type $i32_i32_i32_i32_=>_v128) (param $a i32) (param $b i32) (param $c i32) (param $d i32) (result v128) local.get $a @@ -6705,17 +6774,20 @@ i32x4.replace_lane 2 local.get $d i32x4.replace_lane 3 + return ) (func $simd/test_vars_i64x2_partial (type $i64_=>_v128) (param $a i64) (result v128) v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 local.get $a i64x2.replace_lane 1 + return ) (func $simd/test_vars_i64x2_full (type $i64_i64_=>_v128) (param $a i64) (param $b i64) (result v128) local.get $a i64x2.splat local.get $b i64x2.replace_lane 1 + return ) (func $simd/test_vars_f32x4_partial (type $f32_f32_f32_=>_v128) (param $a f32) (param $b f32) (param $c f32) (result v128) v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 @@ -6725,6 +6797,7 @@ f32x4.replace_lane 2 local.get $c f32x4.replace_lane 3 + return ) (func $simd/test_vars_f32x4_full (type $f32_f32_f32_f32_=>_v128) (param $a f32) (param $b f32) (param $c f32) (param $d f32) (result v128) local.get $a @@ -6735,17 +6808,20 @@ f32x4.replace_lane 2 local.get $d f32x4.replace_lane 3 + return ) (func $simd/test_vars_f64x2_partial (type $f64_=>_v128) (param $a f64) (result v128) v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 local.get $a f64x2.replace_lane 1 + return ) (func $simd/test_vars_f64x2_full (type $f64_f64_=>_v128) (param $a f64) (param $b f64) (result v128) local.get $a f64x2.splat local.get $b f64x2.replace_lane 1 + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -6917,5 +6993,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) ) diff --git a/tests/compiler/static-this.debug.wat b/tests/compiler/static-this.debug.wat index 83bfb374f0..01420c4ea1 100644 --- a/tests/compiler/static-this.debug.wat +++ b/tests/compiler/static-this.debug.wat @@ -15,6 +15,7 @@ (start $~start) (func $static-this/Foo.getBar (type $none_=>_i32) (result i32) global.get $static-this/Foo.bar + return ) (func $start:static-this (type $none_=>_none) call $static-this/Foo.getBar diff --git a/tests/compiler/std/array-access.debug.wat b/tests/compiler/std/array-access.debug.wat index 78d0833ab0..ca244b2282 100644 --- a/tests/compiler/std/array-access.debug.wat +++ b/tests/compiler/std/array-access.debug.wat @@ -69,6 +69,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array<~lib/string/String>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -89,6 +90,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -192,6 +194,7 @@ end end i32.const 0 + return ) (func $~lib/string/String#startsWith (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) (local $len i32) @@ -239,6 +242,7 @@ local.get $searchLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -265,6 +269,7 @@ call $~lib/array/Array<%28i32%29=>i32>#__get i32.load $0 call_indirect $0 (type $i32_=>_i32) + return ) (func $~stack_check (type $none_=>_none) global.get $~lib/memory/__stack_pointer @@ -305,6 +310,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/array-access/stringArrayPropertyAccess (type $i32_=>_i32) (param $a i32) (result i32) (local $1 i32) @@ -331,6 +337,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/array-access/stringArrayMethodCall (type $i32_=>_i32) (param $a i32) (result i32) (local $1 i32) @@ -364,6 +371,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/array-access/stringArrayArrayPropertyAccess (type $i32_=>_i32) (param $a i32) (result i32) (local $1 i32) @@ -397,6 +405,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/array-access/stringArrayArrayMethodCall (type $i32_=>_i32) (param $a i32) (result i32) (local $1 i32) @@ -440,6 +449,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/array/Array<~lib/array/Array>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -496,6 +506,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -552,6 +563,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -608,6 +620,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/array/Array<%28i32%29=>i32>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -664,6 +677,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $export:std/array-access/i32ArrayArrayElementAccess (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) diff --git a/tests/compiler/std/array-literal.debug.wat b/tests/compiler/std/array-literal.debug.wat index 92fa3afb98..88137c3fb2 100644 --- a/tests/compiler/std/array-literal.debug.wat +++ b/tests/compiler/std/array-literal.debug.wat @@ -65,6 +65,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -95,6 +96,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -103,6 +105,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -133,6 +136,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this @@ -152,6 +156,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -164,12 +169,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -327,6 +334,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -346,6 +354,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -463,6 +472,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -638,22 +648,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -678,16 +691,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -783,18 +799,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -818,18 +837,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -839,12 +861,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -992,22 +1017,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1052,16 +1080,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1116,10 +1147,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1235,6 +1269,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1417,6 +1452,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1651,6 +1687,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1729,6 +1766,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1744,6 +1782,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1834,16 +1873,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1876,16 +1918,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1899,46 +1944,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1975,10 +2027,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2098,30 +2153,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2192,6 +2253,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2204,6 +2266,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2266,6 +2329,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/__newBuffer (type $i32_i32_i32_=>_i32) (param $size i32) (param $id i32) (param $data i32) (result i32) (local $buffer i32) @@ -2281,6 +2345,7 @@ memory.copy $0 $0 end local.get $buffer + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2401,6 +2466,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2429,6 +2495,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $std/array-literal/doesntLeak (type $i32_=>_none) (param $refs i32) nop @@ -3397,6 +3464,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) diff --git a/tests/compiler/std/array-literal.release.wat b/tests/compiler/std/array-literal.release.wat index fadd3b93e2..c0a68bf28d 100644 --- a/tests/compiler/std/array-literal.release.wat +++ b/tests/compiler/std/array-literal.release.wat @@ -1624,17 +1624,17 @@ i32.const 2 i32.shl i32.add - local.set $3 + local.set $2 loop $while-continue|0 local.get $1 - local.get $3 + local.get $2 i32.lt_u if local.get $1 i32.load $0 - local.tee $2 + local.tee $3 if - local.get $2 + local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__visit end local.get $1 diff --git a/tests/compiler/std/array.debug.wat b/tests/compiler/std/array.debug.wat index 8c7b2dbc3a..a1700759a0 100644 --- a/tests/compiler/std/array.debug.wat +++ b/tests/compiler/std/array.debug.wat @@ -403,6 +403,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -415,12 +416,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -578,6 +581,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -597,6 +601,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -714,6 +719,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -889,22 +895,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -929,16 +938,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -1034,18 +1046,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1069,18 +1084,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1090,12 +1108,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1243,22 +1264,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1303,16 +1327,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1367,10 +1394,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1486,6 +1516,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1668,6 +1699,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1902,6 +1934,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1980,6 +2013,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1995,6 +2029,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -2085,16 +2120,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -2127,16 +2165,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -2150,46 +2191,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2226,10 +2274,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2349,30 +2400,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2443,6 +2500,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2455,6 +2513,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2517,6 +2576,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2619,6 +2679,7 @@ else i32.const 0 end + return ) (func $std/array/Ref#set:v (type $i32_i32_=>_none) (param $this i32) (param $v i32) local.get $this @@ -2634,6 +2695,7 @@ else i32.const 0 end + return ) (func $~lib/arraybuffer/ArrayBufferView#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -2663,9 +2725,11 @@ else i32.const 0 end + return ) (func $~lib/array/Array.isArray (type $i32_=>_i32) (param $value i32) (result i32) i32.const 0 + return ) (func $~lib/array/Array.isArray<~lib/string/String> (type $i32_=>_i32) (param $value i32) (result i32) local.get $value @@ -2676,6 +2740,7 @@ else i32.const 0 end + return ) (func $~lib/array/Array.isArray<~lib/array/Array> (type $i32_=>_i32) (param $value i32) (result i32) local.get $value @@ -2686,6 +2751,7 @@ else i32.const 0 end + return ) (func $~lib/rt/__newBuffer (type $i32_i32_i32_=>_i32) (param $size i32) (param $id i32) (param $data i32) (result i32) (local $buffer i32) @@ -2701,6 +2767,7 @@ memory.copy $0 $0 end local.get $buffer + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2799,10 +2866,12 @@ local.get $end call $~lib/util/bytes/FILL local.get $this + return ) (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -2829,6 +2898,7 @@ i32.const 0 drop local.get $value + return ) (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) (local $i i32) @@ -2882,6 +2952,7 @@ end end i32.const 1 + return ) (func $~lib/array/Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) block $2of2 @@ -3043,10 +3114,12 @@ local.get $end call $~lib/util/bytes/FILL local.get $this + return ) (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -3073,6 +3146,7 @@ i32.const 0 drop local.get $value + return ) (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) (local $i i32) @@ -3126,6 +3200,7 @@ end end i32.const 1 + return ) (func $~lib/array/Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) block $2of2 @@ -3293,10 +3368,12 @@ local.get $end call $~lib/util/bytes/FILL local.get $this + return ) (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) (local $value f32) @@ -3323,6 +3400,7 @@ i32.const 0 drop local.get $value + return ) (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) (local $i i32) @@ -3381,30 +3459,36 @@ if br $for-continue|0 end - local.get $a - local.get $i - call $~lib/array/Array#__get - f64.promote_f32 - local.set $x - local.get $x - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.0 (result i32) + local.get $a + local.get $i + call $~lib/array/Array#__get + f64.promote_f32 + local.set $x + local.get $x + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.0 + end i32.const 0 i32.ne - local.get $b - local.get $i - call $~lib/array/Array#__get - f64.promote_f32 - local.set $x|7 - local.get $x|7 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.1 (result i32) + local.get $b + local.get $i + call $~lib/array/Array#__get + f64.promote_f32 + local.set $x|7 + local.get $x|7 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.1 + end i32.const 0 i32.ne i32.ne @@ -3432,6 +3516,7 @@ end end i32.const 1 + return ) (func $~lib/array/Array#fill@varargs (type $i32_f32_i32_i32_=>_i32) (param $this i32) (param $value f32) (param $start i32) (param $end i32) (result i32) block $2of2 @@ -3464,6 +3549,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -3478,6 +3564,7 @@ i32.const 20 i32.sub call $~lib/rt/common/OBJECT#get:rtSize + return ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -3535,6 +3622,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) (local $oldCapacity i32) @@ -3665,6 +3753,7 @@ local.get $len call $~lib/array/Array#set:length_ local.get $len + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -3691,6 +3780,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array#pop (type $i32_=>_i32) (param $this i32) (result i32) (local $len i32) @@ -3724,6 +3814,7 @@ local.get $len call $~lib/array/Array#set:length_ local.get $val + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -3767,6 +3858,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $len i32) @@ -3805,6 +3897,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array#copyWithin (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) (local $ptr i32) @@ -3947,6 +4040,7 @@ i32.shl memory.copy $0 $0 local.get $this + return ) (func $~lib/array/Array#copyWithin@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) block $1of1 @@ -4020,6 +4114,7 @@ end end i32.const 1 + return ) (func $~lib/array/Array#unshift (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) (local $len i32) @@ -4056,6 +4151,7 @@ local.get $len call $~lib/array/Array#set:length_ local.get $len + return ) (func $~lib/array/Array#shift (type $i32_=>_i32) (param $this i32) (result i32) (local $len i32) @@ -4107,6 +4203,7 @@ local.get $lastIndex call $~lib/array/Array#set:length_ local.get $element + return ) (func $~lib/array/Array#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) block $2of2 @@ -4207,6 +4304,7 @@ call $~lib/array/Array#get:length_ call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) (local $i i32) @@ -4379,6 +4477,7 @@ call $~lib/array/Array#get:length_ call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -4515,10 +4614,12 @@ call $~lib/array/Array#get:length_ call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -4545,6 +4646,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) (local $len i32) @@ -4612,6 +4714,7 @@ end end i32.const -1 + return ) (func $~lib/array/Array#indexOf (type $i32_f32_i32_=>_i32) (param $this i32) (param $value f32) (param $fromIndex i32) (result i32) (local $len i32) @@ -4679,6 +4782,7 @@ end end i32.const -1 + return ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -4754,6 +4858,7 @@ end end i32.const -1 + return ) (func $~lib/array/Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) (local $len i32) @@ -4815,6 +4920,7 @@ end end i32.const -1 + return ) (func $~lib/array/Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) block $1of1 @@ -5070,6 +5176,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__uset (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $this @@ -5172,6 +5279,7 @@ end end i32.const -1 + return ) (func $start:std/array~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -5191,6 +5299,7 @@ local.get $value i32.const 100 i32.eq + return ) (func $start:std/array~anonymous|4 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -5204,6 +5313,7 @@ local.get $value i32.const 100 i32.eq + return ) (func $start:std/array~anonymous|6 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -5248,6 +5358,7 @@ end end i32.const -1 + return ) (func $start:std/array~anonymous|7 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -5266,6 +5377,7 @@ local.get $value i32.const 100 i32.eq + return ) (func $start:std/array~anonymous|10 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -5322,6 +5434,7 @@ end end i32.const 1 + return ) (func $start:std/array~anonymous|11 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -5336,6 +5449,7 @@ local.get $value i32.const 10 i32.lt_s + return ) (func $start:std/array~anonymous|13 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -5349,6 +5463,7 @@ local.get $value i32.const 3 i32.lt_s + return ) (func $start:std/array~anonymous|15 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -5404,6 +5519,7 @@ end end i32.const 0 + return ) (func $start:std/array~anonymous|16 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -5418,6 +5534,7 @@ local.get $value i32.const 10 i32.gt_s + return ) (func $start:std/array~anonymous|18 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -5431,6 +5548,7 @@ local.get $value i32.const 3 i32.gt_s + return ) (func $start:std/array~anonymous|20 (type $i32_i32_i32_=>_none) (param $value i32) (param $$1 i32) (param $$2 i32) global.get $std/array/i @@ -5857,12 +5975,15 @@ (local $b64 i64) (local $b i64) (local $e i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -5924,6 +6045,7 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) @@ -6020,6 +6142,7 @@ local.get $this local.get $radix call $~lib/util/number/itoa32 + return ) (func $start:std/array~anonymous|25 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -6044,6 +6167,7 @@ i32.add global.set $std/array/i local.get $value + return ) (func $start:std/array~anonymous|28 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) global.get $std/array/i @@ -6051,6 +6175,7 @@ i32.add global.set $std/array/i local.get $value + return ) (func $start:std/array~anonymous|29 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array i32) (result i32) local.get $array @@ -6061,6 +6186,7 @@ i32.add global.set $std/array/i local.get $value + return ) (func $start:std/array~anonymous|30 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -6079,6 +6205,7 @@ local.get $value i32.const 2 i32.ge_s + return ) (func $start:std/array~anonymous|32 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) global.get $std/array/i @@ -6088,6 +6215,7 @@ local.get $value i32.const 2 i32.ge_s + return ) (func $start:std/array~anonymous|33 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array i32) (result i32) local.get $array @@ -6100,6 +6228,7 @@ local.get $value i32.const 2 i32.ge_s + return ) (func $start:std/array~anonymous|34 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $prev @@ -6156,6 +6285,7 @@ end end local.get $acc + return ) (func $start:std/array~anonymous|35 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $prev @@ -6222,6 +6352,7 @@ end end local.get $acc + return ) (func $start:std/array~anonymous|37 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $prev @@ -6241,6 +6372,7 @@ local.get $prev local.get $current i32.add + return ) (func $start:std/array~anonymous|39 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $prev @@ -6254,6 +6386,7 @@ local.get $prev local.get $current i32.add + return ) (func $start:std/array~anonymous|41 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $prev @@ -6299,6 +6432,7 @@ end end local.get $acc + return ) (func $start:std/array~anonymous|42 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $prev @@ -6354,6 +6488,7 @@ end end local.get $acc + return ) (func $start:std/array~anonymous|44 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $prev @@ -6373,6 +6508,7 @@ local.get $prev local.get $current i32.add + return ) (func $start:std/array~anonymous|46 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $prev @@ -6386,6 +6522,7 @@ local.get $prev local.get $current i32.add + return ) (func $~lib/math/murmurHash3 (type $i64_=>_i64) (param $h i64) (result i64) local.get $h @@ -6415,6 +6552,7 @@ i64.xor local.set $h local.get $h + return ) (func $~lib/math/splitMix32 (type $i32_=>_i32) (param $h i32) (result i32) local.get $h @@ -6450,6 +6588,7 @@ i32.const 14 i32.shr_u i32.xor + return ) (func $~lib/math/NativeMath.seedRandom (type $i64_=>_none) (param $value i64) local.get $value @@ -6841,6 +6980,7 @@ end end local.get $j + return ) (func $~lib/util/sort/nodePower (type $i32_i32_i32_i32_i32_=>_i32) (param $left i32) (param $right i32) (param $startA i32) (param $startB i32) (param $endB i32) (result i32) (local $n i64) @@ -6891,6 +7031,7 @@ i64.xor i32.wrap_i64 i32.clz + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -7184,12 +7325,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.0 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.0 + end i32.const 2 i32.add local.set $lgPlus2 @@ -7449,6 +7593,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f32_f32_=>_i32) (param $a f32) (param $b f32) (result i32) (local $ia i32) @@ -7482,6 +7627,7 @@ local.get $ib i32.lt_s i32.sub + return ) (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) @@ -7817,6 +7963,7 @@ end end local.get $j + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -8110,12 +8257,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.1 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.1 + end i32.const 2 i32.add local.set $lgPlus2 @@ -8375,6 +8525,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f64_f64_=>_i32) (param $a f64) (param $b f64) (result i32) (local $ia i64) @@ -8408,10 +8559,12 @@ local.get $ib i64.lt_s i32.sub + return ) (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) (local $value f64) @@ -8438,6 +8591,7 @@ i32.const 0 drop local.get $value + return ) (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) (local $i i32) @@ -8496,28 +8650,34 @@ if br $for-continue|0 end - local.get $a - local.get $i - call $~lib/array/Array#__get - local.set $x - local.get $x - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.2 (result i32) + local.get $a + local.get $i + call $~lib/array/Array#__get + local.set $x + local.get $x + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.2 + end i32.const 0 i32.ne - local.get $b - local.get $i - call $~lib/array/Array#__get - local.set $x|7 - local.get $x|7 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.3 (result i32) + local.get $b + local.get $i + call $~lib/array/Array#__get + local.set $x|7 + local.get $x|7 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.3 + end i32.const 0 i32.ne i32.ne @@ -8545,6 +8705,7 @@ end end i32.const 1 + return ) (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) @@ -8880,6 +9041,7 @@ end end local.get $j + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -9173,12 +9335,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.2 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.2 + end i32.const 2 i32.add local.set $lgPlus2 @@ -9438,6 +9603,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -9778,6 +9944,7 @@ end end local.get $j + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -10071,12 +10238,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.3 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.3 + end i32.const 2 i32.add local.set $lgPlus2 @@ -10336,6 +10506,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -10397,6 +10568,7 @@ f64.reinterpret_i64 f64.const 1 f64.sub + return ) (func $~lib/util/sort/COMPARATOR~anonymous|1 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -10443,6 +10615,7 @@ end end i32.const 1 + return ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -11024,12 +11197,15 @@ global.set $~lib/memory/__stack_pointer return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.4 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.4 + end i32.const 2 i32.add local.set $lgPlus2 @@ -11293,10 +11469,12 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $std/array/Dim#get:width (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -11958,12 +12136,15 @@ global.set $~lib/memory/__stack_pointer return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.5 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.5 + end i32.const 2 i32.add local.set $lgPlus2 @@ -12227,10 +12408,12 @@ local.get $comparator call $~lib/util/sort/SORT<~lib/array/Array> local.get $this + return ) (func $~lib/array/Array<~lib/array/Array>#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array<~lib/array/Array>#get:length_ + return ) (func $~lib/array/Array>#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -12875,12 +13058,15 @@ global.set $~lib/memory/__stack_pointer return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.6 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.6 + end i32.const 2 i32.add local.set $lgPlus2 @@ -13144,10 +13330,12 @@ local.get $comparator call $~lib/util/sort/SORT> local.get $this + return ) (func $~lib/array/Array>#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array>#get:length_ + return ) (func $~lib/array/Array<~lib/string/String|null>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -13701,12 +13889,15 @@ global.set $~lib/memory/__stack_pointer return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.7 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.7 + end i32.const 2 i32.add local.set $lgPlus2 @@ -13970,10 +14161,12 @@ local.get $comparator call $~lib/util/sort/SORT<~lib/string/String|null> local.get $this + return ) (func $~lib/array/Array<~lib/string/String|null>#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array<~lib/string/String|null>#get:length_ + return ) (func $~lib/string/String#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -13982,6 +14175,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -14085,6 +14279,7 @@ end end i32.const 0 + return ) (func $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $alen i32) @@ -14161,6 +14356,7 @@ local.get $blen i32.sub end + return ) (func $std/array/assertSorted<~lib/string/String|null>@varargs (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) global.get $~lib/memory/__stack_pointer @@ -14244,12 +14440,14 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/string/String.__ne (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) local.get $left local.get $right call $~lib/string/String.__eq i32.eqz + return ) (func $~lib/array/Array<~lib/string/String>#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -14279,6 +14477,7 @@ local.get $left local.get $right call $~lib/string/String#concat + return ) (func $~lib/array/Array<~lib/string/String>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -14879,12 +15078,15 @@ global.set $~lib/memory/__stack_pointer return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.8 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.8 + end i32.const 2 i32.add local.set $lgPlus2 @@ -15148,10 +15350,12 @@ local.get $comparator call $~lib/util/sort/SORT<~lib/string/String> local.get $this + return ) (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array<~lib/string/String>#get:length_ + return ) (func $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $alen i32) @@ -15228,6 +15432,7 @@ local.get $blen i32.sub end + return ) (func $std/array/assertSorted<~lib/string/String>@varargs (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) global.get $~lib/memory/__stack_pointer @@ -15387,6 +15592,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) (local $ptr i32) @@ -15471,6 +15677,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) (local $ptr i32) @@ -16188,51 +16395,54 @@ local.get $buffer i32.const 101 i32.store16 $0 offset=2 - local.get $buffer - i32.const 4 - i32.add - local.set $buffer|8 - local.get $kk - i32.const 1 - i32.sub - local.set $k|9 - local.get $k|9 - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 0 - local.get $k|9 + block $~lib/util/number/genExponent|inlined.0 (result i32) + local.get $buffer + i32.const 4 + i32.add + local.set $buffer|8 + local.get $kk + i32.const 1 i32.sub local.set $k|9 + local.get $k|9 + i32.const 0 + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 0 + local.get $k|9 + i32.sub + local.set $k|9 + end + local.get $k|9 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 + local.set $num + local.get $decimals + local.set $offset|14 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|12 + local.get $num + local.get $offset|14 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|8 + i32.const 45 + i32.const 43 + local.get $sign + select + i32.store16 $0 + local.get $decimals + br $~lib/util/number/genExponent|inlined.0 end - local.get $k|9 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals - local.get $buffer|8 - local.set $buffer|12 - local.get $k|9 - local.set $num - local.get $decimals - local.set $offset|14 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|12 - local.get $num - local.get $offset|14 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|8 - i32.const 45 - i32.const 43 - local.get $sign - select - i32.store16 $0 - local.get $decimals local.set $length local.get $length i32.const 2 @@ -16262,53 +16472,56 @@ i32.const 101 i32.store16 $0 offset=2 local.get $length - local.get $buffer - local.get $len - i32.add - i32.const 4 - i32.add - local.set $buffer|16 - local.get $kk - i32.const 1 - i32.sub - local.set $k|17 - local.get $k|17 - i32.const 0 - i32.lt_s - local.set $sign|18 - local.get $sign|18 - if - i32.const 0 - local.get $k|17 + block $~lib/util/number/genExponent|inlined.1 (result i32) + local.get $buffer + local.get $len + i32.add + i32.const 4 + i32.add + local.set $buffer|16 + local.get $kk + i32.const 1 i32.sub local.set $k|17 + local.get $k|17 + i32.const 0 + i32.lt_s + local.set $sign|18 + local.get $sign|18 + if + i32.const 0 + local.get $k|17 + i32.sub + local.set $k|17 + end + local.get $k|17 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|16 + i32.const 45 + i32.const 43 + local.get $sign|18 + select + i32.store16 $0 + local.get $decimals|19 + br $~lib/util/number/genExponent|inlined.1 end - local.get $k|17 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals|19 - local.get $buffer|16 - local.set $buffer|20 - local.get $k|17 - local.set $num|21 - local.get $decimals|19 - local.set $offset|22 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|20 - local.get $num|21 - local.get $offset|22 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|16 - i32.const 45 - i32.const 43 - local.get $sign|18 - select - i32.store16 $0 - local.get $decimals|19 i32.add local.set $length local.get $length @@ -16397,375 +16610,393 @@ i32.const 45 i32.store16 $0 end - local.get $value - local.set $value|3 - local.get $buffer - local.set $buffer|4 - local.get $sign - local.set $sign|5 - local.get $value|3 - i64.reinterpret_f64 - local.set $uv - local.get $uv - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $exp - local.get $uv - i64.const 4503599627370495 - i64.and - local.set $sid - local.get $exp - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $sid - i64.add - local.set $frc - local.get $exp - i32.const 1 - local.get $exp - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $exp - local.get $frc - local.set $f - local.get $exp - local.set $e - local.get $f - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $frc|12 - local.get $e - i32.const 1 - i32.sub - local.set $exp|13 - local.get $frc|12 - i64.clz - i32.wrap_i64 - local.set $off - local.get $frc|12 - local.get $off - i64.extend_i32_s - i64.shl - local.set $frc|12 - local.get $exp|13 - local.get $off - i32.sub - local.set $exp|13 - i32.const 1 - local.get $f - i64.const 4503599627370496 - i64.eq - i32.add - local.set $m - local.get $frc|12 - global.set $~lib/util/number/_frc_plus - local.get $f - local.get $m - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $e - local.get $m - i32.sub - local.get $exp|13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $exp|13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $minExp - i32.const -61 - local.get $minExp - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $dk - local.get $dk - i32.trunc_sat_f64_s - local.set $k - local.get $k - local.get $k - f64.convert_i32_s - local.get $dk - f64.ne - i32.add - local.set $k - local.get $k - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.set $index - i32.const 348 - local.get $index - i32.const 3 - i32.shl - i32.sub - global.set $~lib/util/number/_K - i32.const 11496 - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - i32.const 12192 - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $frc - i64.clz - i32.wrap_i64 - local.set $off|20 - local.get $frc - local.get $off|20 - i64.extend_i32_s - i64.shl - local.set $frc - local.get $exp - local.get $off|20 - i32.sub - local.set $exp - global.get $~lib/util/number/_frc_pow - local.set $frc_pow - global.get $~lib/util/number/_exp_pow - local.set $exp_pow - local.get $frc - local.set $u - local.get $frc_pow - local.set $v - local.get $u - i64.const 4294967295 - i64.and - local.set $u0 - local.get $v - i64.const 4294967295 - i64.and - local.set $v0 - local.get $u - i64.const 32 - i64.shr_u - local.set $u1 - local.get $v - i64.const 32 - i64.shr_u - local.set $v1 - local.get $u0 - local.get $v0 - i64.mul - local.set $l - local.get $u1 - local.get $v0 - i64.mul - local.get $l - i64.const 32 - i64.shr_u - i64.add - local.set $t - local.get $u0 - local.get $v1 - i64.mul - local.get $t - i64.const 4294967295 - i64.and - i64.add - local.set $w - local.get $w - i64.const 2147483647 - i64.add - local.set $w - local.get $t - i64.const 32 - i64.shr_u - local.set $t - local.get $w - i64.const 32 - i64.shr_u - local.set $w - local.get $u1 - local.get $v1 - i64.mul - local.get $t - i64.add - local.get $w - i64.add - local.set $w_frc - local.get $exp - local.set $e1 - local.get $exp_pow - local.set $e2 - local.get $e1 - local.get $e2 - i32.add - i32.const 64 - i32.add - local.set $w_exp - global.get $~lib/util/number/_frc_plus - local.set $u|36 - local.get $frc_pow - local.set $v|37 - local.get $u|36 - i64.const 4294967295 - i64.and - local.set $u0|38 - local.get $v|37 - i64.const 4294967295 - i64.and - local.set $v0|39 - local.get $u|36 - i64.const 32 - i64.shr_u - local.set $u1|40 - local.get $v|37 - i64.const 32 - i64.shr_u - local.set $v1|41 - local.get $u0|38 - local.get $v0|39 - i64.mul - local.set $l|42 - local.get $u1|40 - local.get $v0|39 - i64.mul - local.get $l|42 - i64.const 32 - i64.shr_u - i64.add - local.set $t|43 - local.get $u0|38 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.const 4294967295 - i64.and - i64.add - local.set $w|44 - local.get $w|44 - i64.const 2147483647 - i64.add - local.set $w|44 - local.get $t|43 - i64.const 32 - i64.shr_u - local.set $t|43 - local.get $w|44 - i64.const 32 - i64.shr_u - local.set $w|44 - local.get $u1|40 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.add - local.get $w|44 - i64.add - i64.const 1 - i64.sub - local.set $wp_frc - global.get $~lib/util/number/_exp - local.set $e1|46 - local.get $exp_pow - local.set $e2|47 - local.get $e1|46 - local.get $e2|47 - i32.add - i32.const 64 - i32.add - local.set $wp_exp - global.get $~lib/util/number/_frc_minus - local.set $u|49 - local.get $frc_pow - local.set $v|50 - local.get $u|49 - i64.const 4294967295 - i64.and - local.set $u0|51 - local.get $v|50 - i64.const 4294967295 - i64.and - local.set $v0|52 - local.get $u|49 - i64.const 32 - i64.shr_u - local.set $u1|53 - local.get $v|50 - i64.const 32 - i64.shr_u - local.set $v1|54 - local.get $u0|51 - local.get $v0|52 - i64.mul - local.set $l|55 - local.get $u1|53 - local.get $v0|52 - i64.mul - local.get $l|55 - i64.const 32 - i64.shr_u - i64.add - local.set $t|56 - local.get $u0|51 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.const 4294967295 - i64.and - i64.add - local.set $w|57 - local.get $w|57 - i64.const 2147483647 - i64.add - local.set $w|57 - local.get $t|56 - i64.const 32 - i64.shr_u - local.set $t|56 - local.get $w|57 - i64.const 32 - i64.shr_u - local.set $w|57 - local.get $u1|53 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.add - local.get $w|57 - i64.add - i64.const 1 - i64.add - local.set $wm_frc - local.get $wp_frc - local.get $wm_frc - i64.sub - local.set $delta - local.get $buffer|4 - local.get $w_frc - local.get $w_exp - local.get $wp_frc - local.get $wp_exp - local.get $delta - local.get $sign|5 - call $~lib/util/number/genDigits + block $~lib/util/number/grisu2|inlined.0 (result i32) + local.get $value + local.set $value|3 + local.get $buffer + local.set $buffer|4 + local.get $sign + local.set $sign|5 + local.get $value|3 + i64.reinterpret_f64 + local.set $uv + local.get $uv + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv + i64.const 4503599627370495 + i64.and + local.set $sid + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid + i64.add + local.set $frc + local.get $exp + i32.const 1 + local.get $exp + select + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $exp + local.get $frc + local.set $f + local.get $exp + local.set $e + local.get $f + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $frc|12 + local.get $e + i32.const 1 + i32.sub + local.set $exp|13 + local.get $frc|12 + i64.clz + i32.wrap_i64 + local.set $off + local.get $frc|12 + local.get $off + i64.extend_i32_s + i64.shl + local.set $frc|12 + local.get $exp|13 + local.get $off + i32.sub + local.set $exp|13 + i32.const 1 + local.get $f + i64.const 4503599627370496 + i64.eq + i32.add + local.set $m + local.get $frc|12 + global.set $~lib/util/number/_frc_plus + local.get $f + local.get $m + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $e + local.get $m + i32.sub + local.get $exp|13 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $exp|13 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $minExp + i32.const -61 + local.get $minExp + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.set $dk + local.get $dk + i32.trunc_sat_f64_s + local.set $k + local.get $k + local.get $k + f64.convert_i32_s + local.get $dk + f64.ne + i32.add + local.set $k + local.get $k + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.set $index + i32.const 348 + local.get $index + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 11496 + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + global.set $~lib/util/number/_frc_pow + i32.const 12192 + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + global.set $~lib/util/number/_exp_pow + local.get $frc + i64.clz + i32.wrap_i64 + local.set $off|20 + local.get $frc + local.get $off|20 + i64.extend_i32_s + i64.shl + local.set $frc + local.get $exp + local.get $off|20 + i32.sub + local.set $exp + global.get $~lib/util/number/_frc_pow + local.set $frc_pow + global.get $~lib/util/number/_exp_pow + local.set $exp_pow + block $~lib/util/number/umul64f|inlined.0 (result i64) + local.get $frc + local.set $u + local.get $frc_pow + local.set $v + local.get $u + i64.const 4294967295 + i64.and + local.set $u0 + local.get $v + i64.const 4294967295 + i64.and + local.set $v0 + local.get $u + i64.const 32 + i64.shr_u + local.set $u1 + local.get $v + i64.const 32 + i64.shr_u + local.set $v1 + local.get $u0 + local.get $v0 + i64.mul + local.set $l + local.get $u1 + local.get $v0 + i64.mul + local.get $l + i64.const 32 + i64.shr_u + i64.add + local.set $t + local.get $u0 + local.get $v1 + i64.mul + local.get $t + i64.const 4294967295 + i64.and + i64.add + local.set $w + local.get $w + i64.const 2147483647 + i64.add + local.set $w + local.get $t + i64.const 32 + i64.shr_u + local.set $t + local.get $w + i64.const 32 + i64.shr_u + local.set $w + local.get $u1 + local.get $v1 + i64.mul + local.get $t + i64.add + local.get $w + i64.add + br $~lib/util/number/umul64f|inlined.0 + end + local.set $w_frc + block $~lib/util/number/umul64e|inlined.0 (result i32) + local.get $exp + local.set $e1 + local.get $exp_pow + local.set $e2 + local.get $e1 + local.get $e2 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.0 + end + local.set $w_exp + block $~lib/util/number/umul64f|inlined.1 (result i64) + global.get $~lib/util/number/_frc_plus + local.set $u|36 + local.get $frc_pow + local.set $v|37 + local.get $u|36 + i64.const 4294967295 + i64.and + local.set $u0|38 + local.get $v|37 + i64.const 4294967295 + i64.and + local.set $v0|39 + local.get $u|36 + i64.const 32 + i64.shr_u + local.set $u1|40 + local.get $v|37 + i64.const 32 + i64.shr_u + local.set $v1|41 + local.get $u0|38 + local.get $v0|39 + i64.mul + local.set $l|42 + local.get $u1|40 + local.get $v0|39 + i64.mul + local.get $l|42 + i64.const 32 + i64.shr_u + i64.add + local.set $t|43 + local.get $u0|38 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.const 4294967295 + i64.and + i64.add + local.set $w|44 + local.get $w|44 + i64.const 2147483647 + i64.add + local.set $w|44 + local.get $t|43 + i64.const 32 + i64.shr_u + local.set $t|43 + local.get $w|44 + i64.const 32 + i64.shr_u + local.set $w|44 + local.get $u1|40 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.add + local.get $w|44 + i64.add + br $~lib/util/number/umul64f|inlined.1 + end + i64.const 1 + i64.sub + local.set $wp_frc + block $~lib/util/number/umul64e|inlined.1 (result i32) + global.get $~lib/util/number/_exp + local.set $e1|46 + local.get $exp_pow + local.set $e2|47 + local.get $e1|46 + local.get $e2|47 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.1 + end + local.set $wp_exp + block $~lib/util/number/umul64f|inlined.2 (result i64) + global.get $~lib/util/number/_frc_minus + local.set $u|49 + local.get $frc_pow + local.set $v|50 + local.get $u|49 + i64.const 4294967295 + i64.and + local.set $u0|51 + local.get $v|50 + i64.const 4294967295 + i64.and + local.set $v0|52 + local.get $u|49 + i64.const 32 + i64.shr_u + local.set $u1|53 + local.get $v|50 + i64.const 32 + i64.shr_u + local.set $v1|54 + local.get $u0|51 + local.get $v0|52 + i64.mul + local.set $l|55 + local.get $u1|53 + local.get $v0|52 + i64.mul + local.get $l|55 + i64.const 32 + i64.shr_u + i64.add + local.set $t|56 + local.get $u0|51 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.const 4294967295 + i64.and + i64.add + local.set $w|57 + local.get $w|57 + i64.const 2147483647 + i64.add + local.set $w|57 + local.get $t|56 + i64.const 32 + i64.shr_u + local.set $t|56 + local.get $w|57 + i64.const 32 + i64.shr_u + local.set $w|57 + local.get $u1|53 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.add + local.get $w|57 + i64.add + br $~lib/util/number/umul64f|inlined.2 + end + i64.const 1 + i64.add + local.set $wm_frc + local.get $wp_frc + local.get $wm_frc + i64.sub + local.set $delta + local.get $buffer|4 + local.get $w_frc + local.get $w_exp + local.get $wp_frc + local.get $wp_exp + local.get $delta + local.get $sign|5 + call $~lib/util/number/genDigits + br $~lib/util/number/grisu2|inlined.0 + end local.set $len local.get $buffer local.get $sign @@ -16781,6 +17012,7 @@ local.get $len local.get $sign i32.add + return ) (func $~lib/util/number/dtoa_buffered (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) (local $sign i32) @@ -16853,6 +17085,7 @@ local.get $buffer local.get $value call $~lib/util/number/dtoa_core + return ) (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) (local $ptr i32) @@ -16904,6 +17137,7 @@ ) (func $std/array/Ref#toString (type $i32_=>_i32) (param $this i32) (result i32) i32.const 12608 + return ) (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) (local $ptr i32) @@ -17100,6 +17334,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) (local $ptr i32) @@ -17190,179 +17425,181 @@ local.get $sign local.get $decimals i32.add - ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - i32.const 0 - drop - i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinIntegerArray return ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - i32.const 0 - local.set $sign - i32.const 1 - drop - local.get $value - i32.extend16_s - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 2 - i32.const 1 - i32.eq - drop - i32.const 2 - i32.const 2 - i32.eq - drop - local.get $value - i32.extend16_s - i32.const -32768 - i32.eq - if - local.get $buffer - i32.const 45 - i64.extend_i32_s - i32.const 48 - i32.const 3 - i32.add - i64.extend_i32_s - i64.const 16 - i64.shl - i64.or - i32.const 48 - i32.const 2 - i32.add - i64.extend_i32_s - i64.const 32 - i64.shl - i64.or - i32.const 48 - i32.const 7 - i32.add - i64.extend_i32_s - i64.const 48 - i64.shl - i64.or - i64.store $0 - local.get $buffer - i32.const 8 - i32.add - i32.const 48 - i32.const 6 - i32.add - i32.const 0 - i32.shl - i32.const 48 - i32.const 8 - i32.add - i32.const 16 - i32.shl - i32.or - i32.store $0 - i32.const 6 - return - end - local.get $buffer - i32.const 45 - i32.store16 $0 - i32.const 0 - local.get $value - i32.sub - local.set $value - end - local.get $buffer - local.get $sign - i32.const 1 - i32.shl - i32.add - local.set $dest - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 1 - drop - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $value - i32.extend16_s - i32.const 10 - i32.lt_u - if - local.get $dest - local.get $value - i32.extend16_s - i32.const 48 - i32.or - i32.store16 $0 - i32.const 1 - local.get $sign - i32.add - return - end - i32.const 0 - local.set $decimals - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $value - i32.extend16_s - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - local.get $sign - local.get $decimals - i32.add - ) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len i32) + local.get $this + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + call $~lib/array/Array#get:length_ + local.set $len + i32.const 0 + drop + i32.const 1 + drop + local.get $ptr + local.get $len + local.get $separator + call $~lib/util/string/joinIntegerArray + return + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) + i32.const 0 + local.set $sign + i32.const 1 + drop + local.get $value + i32.extend16_s + i32.const 0 + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 2 + i32.const 1 + i32.eq + drop + i32.const 2 + i32.const 2 + i32.eq + drop + local.get $value + i32.extend16_s + i32.const -32768 + i32.eq + if + local.get $buffer + i32.const 45 + i64.extend_i32_s + i32.const 48 + i32.const 3 + i32.add + i64.extend_i32_s + i64.const 16 + i64.shl + i64.or + i32.const 48 + i32.const 2 + i32.add + i64.extend_i32_s + i64.const 32 + i64.shl + i64.or + i32.const 48 + i32.const 7 + i32.add + i64.extend_i32_s + i64.const 48 + i64.shl + i64.or + i64.store $0 + local.get $buffer + i32.const 8 + i32.add + i32.const 48 + i32.const 6 + i32.add + i32.const 0 + i32.shl + i32.const 48 + i32.const 8 + i32.add + i32.const 16 + i32.shl + i32.or + i32.store $0 + i32.const 6 + return + end + local.get $buffer + i32.const 45 + i32.store16 $0 + i32.const 0 + local.get $value + i32.sub + local.set $value + end + local.get $buffer + local.get $sign + i32.const 1 + i32.shl + i32.add + local.set $dest + i32.const 0 + i32.const 1 + i32.le_s + drop + i32.const 1 + drop + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $value + i32.extend16_s + i32.const 10 + i32.lt_u + if + local.get $dest + local.get $value + i32.extend16_s + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + local.get $sign + i32.add + return + end + i32.const 0 + local.set $decimals + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $value + i32.extend16_s + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + local.get $sign + local.get $decimals + i32.add + return + ) (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) (local $ptr i32) (local $len i32) @@ -17665,6 +17902,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) (local $ptr i32) @@ -17817,6 +18055,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) (local $ptr i32) @@ -17960,6 +18199,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) (local $ptr i32) @@ -18171,6 +18411,7 @@ unreachable end local.get $nestedArray + return ) (func $~lib/rt/itcms/__collect (type $none_=>_none) i32.const 0 @@ -19979,6 +20220,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $std/array/assertStableSortedForComplexObjects (type $none_=>_none) (local $sorted i32) @@ -20309,6 +20551,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $std/array/isSorted<~lib/array/Array> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) (local $i i32) @@ -20381,6 +20624,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $std/array/assertSorted<~lib/array/Array> (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) (local $2 i32) @@ -20470,6 +20714,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/util/sort/extendRunRight> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) @@ -20680,6 +20925,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $std/array/isSorted> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) (local $i i32) @@ -20752,6 +20998,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $std/array/assertSorted> (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) (local $2 i32) @@ -20996,6 +21243,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $std/array/isSorted<~lib/string/String|null> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) (local $i i32) @@ -21068,6 +21316,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $std/array/assertSorted<~lib/string/String|null> (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) (local $2 i32) @@ -21198,6 +21447,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $std/array/createRandomString (type $i32_=>_i32) (param $len i32) (result i32) (local $result i32) @@ -21234,19 +21484,22 @@ local.get $4 i32.store $0 offset=4 local.get $4 - call $~lib/math/NativeMath.random - global.get $std/array/charset - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 - call $~lib/string/String#get:length - f64.convert_i32_s - f64.mul - local.set $x - local.get $x - f64.floor + block $~lib/math/NativeMath.floor|inlined.0 (result f64) + call $~lib/math/NativeMath.random + global.get $std/array/charset + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/string/String#get:length + f64.convert_i32_s + f64.mul + local.set $x + local.get $x + f64.floor + br $~lib/math/NativeMath.floor|inlined.0 + end i32.trunc_sat_f64_s call $~lib/string/String#charAt local.set $4 @@ -21271,6 +21524,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $std/array/createRandomStringArray (type $i32_=>_i32) (param $size i32) (result i32) (local $arr i32) @@ -21324,6 +21578,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/util/sort/extendRunRight<~lib/string/String> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) @@ -21534,6 +21789,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $std/array/isSorted<~lib/string/String> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) (local $i i32) @@ -21606,6 +21862,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $std/array/assertSorted<~lib/string/String> (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) (local $2 i32) @@ -21790,6 +22047,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/util/string/joinReferenceArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -21940,6 +22198,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -21965,6 +22224,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -21990,6 +22250,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22015,6 +22276,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22040,6 +22302,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22065,6 +22328,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22090,6 +22354,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/array/Array<~lib/string/String|null>#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22115,6 +22380,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -22265,6 +22531,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array<~lib/array/Array>#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22290,6 +22557,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22315,6 +22583,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -22465,6 +22734,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array<~lib/array/Array>#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22490,6 +22760,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22515,6 +22786,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -22665,6 +22937,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array<~lib/array/Array>#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22690,6 +22963,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -22840,6 +23114,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -22865,6 +23140,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/array/Array<~lib/array/Array>#map<~lib/array/Array> (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $len i32) @@ -22964,6 +23240,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $start:std/array (type $none_=>_none) (local $0 i32) @@ -33197,6 +33474,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $std/array/internalCapacity (type $i32_=>_i32) (param $array i32) (result i32) (local $buffer i32) @@ -33224,6 +33502,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + return ) (func $~lib/array/Array#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) (local $thisLen i32) @@ -33302,6 +33581,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $len i32) @@ -33424,6 +33704,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $17 + return ) (func $~lib/array/Array#splice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $deleteCount i32) (result i32) (local $len i32) @@ -33554,6 +33835,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $17 + return ) (func $~lib/array/Array#splice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $deleteCount i32) (result i32) (local $len i32) @@ -33684,6 +33966,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $17 + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -33740,6 +34023,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/array/Array#splice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $deleteCount i32) (result i32) (local $len i32) @@ -33870,6 +34154,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $17 + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -33916,6 +34201,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $sign i32) @@ -34097,6 +34383,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/array/Array#map<~lib/string/String> (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $len i32) @@ -34188,6 +34475,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/array/Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $len i32) @@ -34273,6 +34561,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/array/Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $len i32) @@ -34358,6 +34647,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/array/Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $result i32) @@ -34437,6 +34727,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -34722,6 +35013,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $std/array/createRandomOrderedArray (type $i32_=>_i32) (param $size i32) (result i32) (local $arr i32) @@ -34770,6 +35062,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/array/Array#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $len i32) @@ -34921,6 +35214,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $20 + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -34977,6 +35271,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/array/Array<~lib/array/Array>#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -35126,6 +35421,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $~lib/array/Array<~lib/array/Array>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -35182,6 +35478,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/array/Array>#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -35359,6 +35656,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/array/Array<~lib/string/String|null>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -35405,6 +35703,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/array/Array<~lib/string/String>#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -35542,6 +35841,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) (local $thisSize i32) @@ -35607,6 +35907,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 + return ) (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -35663,6 +35964,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $len i32) @@ -35806,6 +36108,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $22 + return ) (func $~lib/util/string/joinBooleanArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -35989,6 +36292,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -36157,6 +36461,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/number/utoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $out i32) @@ -36303,6 +36608,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $12 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -36471,6 +36777,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/number/dtoa (type $f64_=>_i32) (param $value f64) (result i32) (local $size i32) @@ -36554,6 +36861,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/util/string/joinFloatArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -36712,6 +37020,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -36921,6 +37230,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $13 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -37089,6 +37399,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -37257,6 +37568,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -37425,6 +37737,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/number/utoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) (local $out i32) @@ -37611,6 +37924,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $17 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -37779,6 +38093,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/number/itoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) (local $sign i32) @@ -38002,6 +38317,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $18 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -38172,6 +38488,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -38340,6 +38657,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/array/Array<~lib/array/Array>#flat (type $i32_=>_i32) (param $this i32) (result i32) (local $ptr i32) @@ -38494,6 +38812,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $13 + return ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#flat (type $i32_=>_i32) (param $this i32) (result i32) (local $ptr i32) @@ -38675,5 +38994,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $15 + return ) ) diff --git a/tests/compiler/std/array.release.wat b/tests/compiler/std/array.release.wat index 504fec1e6e..ab17e65125 100644 --- a/tests/compiler/std/array.release.wat +++ b/tests/compiler/std/array.release.wat @@ -8534,7 +8534,7 @@ (local $7 i32) local.get $0 i32.load $0 offset=4 - local.set $4 + local.set $6 local.get $0 i32.load $0 offset=12 local.set $0 @@ -8560,7 +8560,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $3 + local.tee $7 i32.const 0 i32.lt_s if @@ -8572,10 +8572,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $3 + local.get $7 i32.eqz if - local.get $4 + local.get $6 i32.load $0 call $~lib/util/number/itoa32 local.set $0 @@ -8595,43 +8595,41 @@ local.tee $5 i32.const 11 i32.add - local.get $3 + local.get $7 i32.mul i32.const 11 i32.add - local.tee $7 + local.tee $3 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $3 - local.get $6 - i32.gt_s + local.get $4 + local.get $7 + i32.lt_s if - local.get $2 local.get $0 + local.get $2 i32.const 1 i32.shl i32.add - local.get $4 local.get $6 + local.get $4 i32.const 2 i32.shl i32.add i32.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $2 i32.add - local.set $0 + local.set $2 local.get $5 if - local.get $2 local.get $0 + local.get $2 i32.const 1 i32.shl i32.add @@ -8640,38 +8638,38 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 + local.get $2 local.get $5 i32.add - local.set $0 + local.set $2 end - local.get $6 + local.get $4 i32.const 1 i32.add - local.set $6 + local.set $4 br $for-loop|0 end end - local.get $2 local.get $0 + local.get $2 i32.const 1 i32.shl i32.add - local.get $4 - local.get $3 + local.get $6 + local.get $7 i32.const 2 i32.shl i32.add i32.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $2 i32.add - local.tee $0 - local.get $7 + local.tee $1 + local.get $3 i32.lt_s if - local.get $2 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -8684,8 +8682,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - local.set $0 end local.get $0 ) @@ -8763,7 +8759,7 @@ (local $7 i32) local.get $0 i32.load $0 offset=4 - local.set $4 + local.set $6 local.get $0 i32.load $0 offset=12 local.set $0 @@ -8789,7 +8785,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $3 + local.tee $7 i32.const 0 i32.lt_s if @@ -8801,10 +8797,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $3 + local.get $7 i32.eqz if - local.get $4 + local.get $6 i32.load $0 call $~lib/util/number/utoa32 local.set $0 @@ -8824,43 +8820,41 @@ local.tee $5 i32.const 10 i32.add - local.get $3 + local.get $7 i32.mul i32.const 10 i32.add - local.tee $7 + local.tee $3 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $3 - local.get $6 - i32.gt_s + local.get $4 + local.get $7 + i32.lt_s if - local.get $2 local.get $0 + local.get $2 i32.const 1 i32.shl i32.add - local.get $4 local.get $6 + local.get $4 i32.const 2 i32.shl i32.add i32.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $2 i32.add - local.set $0 + local.set $2 local.get $5 if - local.get $2 local.get $0 + local.get $2 i32.const 1 i32.shl i32.add @@ -8869,38 +8863,38 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 + local.get $2 local.get $5 i32.add - local.set $0 + local.set $2 end - local.get $6 + local.get $4 i32.const 1 i32.add - local.set $6 + local.set $4 br $for-loop|0 end end - local.get $2 local.get $0 + local.get $2 i32.const 1 i32.shl i32.add - local.get $4 - local.get $3 + local.get $6 + local.get $7 i32.const 2 i32.shl i32.add i32.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $2 i32.add - local.tee $0 - local.get $7 + local.tee $1 + local.get $3 i32.lt_s if - local.get $2 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -8913,8 +8907,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - local.set $0 end local.get $0 ) @@ -10023,15 +10015,15 @@ ) (func $~lib/array/Array#join (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) - (local $2 f64) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 f64) local.get $0 i32.load $0 offset=4 - local.set $4 + local.set $5 local.get $0 i32.load $0 offset=12 local.set $0 @@ -10051,7 +10043,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $3 + local.tee $6 i32.const 0 i32.lt_s if @@ -10063,12 +10055,12 @@ local.set $0 br $__inlined_func$~lib/util/string/joinFloatArray end - local.get $3 + local.get $6 i32.eqz if - local.get $4 + local.get $5 f64.load $0 - local.set $2 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -10081,7 +10073,7 @@ i32.const 0 i32.store $0 block $__inlined_func$~lib/util/number/dtoa - local.get $2 + local.get $7 f64.const 0 f64.eq if @@ -10093,14 +10085,14 @@ local.set $0 br $__inlined_func$~lib/util/number/dtoa end - local.get $2 - local.get $2 + local.get $7 + local.get $7 f64.sub f64.const 0 f64.ne if - local.get $2 - local.get $2 + local.get $7 + local.get $7 f64.ne if global.get $~lib/memory/__stack_pointer @@ -10117,7 +10109,7 @@ global.set $~lib/memory/__stack_pointer i32.const 12384 i32.const 12432 - local.get $2 + local.get $7 f64.const 0 f64.lt select @@ -10125,7 +10117,7 @@ br $__inlined_func$~lib/util/number/dtoa end i32.const 12464 - local.get $2 + local.get $7 call $~lib/util/number/dtoa_core i32.const 1 i32.shl @@ -10156,86 +10148,84 @@ i32.load $0 i32.const 1 i32.shr_u - local.tee $5 + local.tee $4 i32.const 28 i32.add - local.get $3 + local.get $6 i32.mul i32.const 28 i32.add - local.tee $7 + local.tee $2 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 local.get $3 local.get $6 - i32.gt_s + i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $4 - local.get $6 + local.get $5 + local.get $3 i32.const 3 i32.shl i32.add f64.load $0 call $~lib/util/number/dtoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 - local.get $5 + local.set $1 + local.get $4 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.const 12288 - local.get $5 + local.get $4 i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 - local.get $5 + local.get $1 + local.get $4 i32.add - local.set $0 + local.set $1 end - local.get $6 + local.get $3 i32.const 1 i32.add - local.set $6 + local.set $3 br $for-loop|0 end end - local.get $7 - local.get $1 + local.get $2 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $4 - local.get $3 + local.get $5 + local.get $6 i32.const 3 i32.shl i32.add f64.load $0 call $~lib/util/number/dtoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -10248,8 +10238,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end local.get $0 return @@ -10273,7 +10261,7 @@ local.set $4 local.get $0 i32.load $0 offset=12 - local.set $0 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -10290,14 +10278,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $0 i64.const 0 i64.store $0 - local.get $5 + local.get $0 i32.const 0 i32.store $0 offset=8 block $__inlined_func$~lib/util/string/joinStringArray - local.get $0 + local.get $6 i32.const 1 i32.sub local.tee $5 @@ -10332,24 +10320,26 @@ local.set $0 br $__inlined_func$~lib/util/string/joinStringArray end + i32.const 0 + local.set $0 loop $for-loop|0 local.get $0 - local.get $3 - i32.gt_s + local.get $6 + i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $4 - local.get $3 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $6 + local.tee $7 i32.store $0 offset=4 - local.get $6 + local.get $7 if local.get $2 - local.get $6 + local.get $7 i32.const 20 i32.sub i32.load $0 offset=16 @@ -10358,15 +10348,13 @@ i32.add local.set $2 end - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|0 end end - i32.const 0 - local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 local.get $1 @@ -11122,15 +11110,15 @@ ) (func $~lib/array/Array#join (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) - (local $2 i64) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 i64) local.get $0 i32.load $0 offset=4 - local.set $7 + local.set $2 local.get $0 i32.load $0 offset=12 local.set $0 @@ -11150,7 +11138,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $6 + local.tee $3 i32.const 0 i32.lt_s if @@ -11162,13 +11150,13 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $6 + local.get $3 i32.eqz if block $__inlined_func$~lib/util/number/utoa64 (result i32) - local.get $7 + local.get $2 i64.load $0 - local.set $2 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11180,7 +11168,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $2 + local.get $7 i64.eqz if global.get $~lib/memory/__stack_pointer @@ -11190,60 +11178,60 @@ i32.const 7712 br $__inlined_func$~lib/util/number/utoa64 end - local.get $2 + local.get $7 i64.const 4294967295 i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 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 end end - local.tee $3 + local.tee $1 i32.const 1 i32.shl i32.const 2 @@ -11251,56 +11239,56 @@ local.tee $0 i32.store $0 local.get $0 + local.get $2 local.get $1 - local.get $3 call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i64.const 1000000000000000 i64.lt_u if (result i32) - local.get $2 + local.get $7 i64.const 1000000000000 i64.lt_u if (result i32) - local.get $2 + local.get $7 i64.const 100000000000 i64.ge_u i32.const 10 i32.add - local.get $2 + local.get $7 i64.const 10000000000 i64.ge_u i32.add else - local.get $2 + local.get $7 i64.const 100000000000000 i64.ge_u i32.const 13 i32.add - local.get $2 + local.get $7 i64.const 10000000000000 i64.ge_u i32.add end else - local.get $2 + local.get $7 i64.const 100000000000000000 i64.lt_u if (result i32) - local.get $2 + local.get $7 i64.const 10000000000000000 i64.ge_u i32.const 16 i32.add else - local.get $2 + local.get $7 i64.const -8446744073709551616 i64.ge_u i32.const 18 i32.add - local.get $2 + local.get $7 i64.const 1000000000000000000 i64.ge_u i32.add @@ -11314,7 +11302,7 @@ local.tee $0 i32.store $0 local.get $0 - local.get $2 + local.get $7 local.get $1 call $~lib/util/number/utoa64_dec_lut end @@ -11336,86 +11324,84 @@ i32.load $0 i32.const 1 i32.shr_u - local.tee $3 + local.tee $6 i32.const 20 i32.add - local.get $6 + local.get $3 i32.mul i32.const 20 i32.add - local.tee $5 + local.tee $4 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $4 - local.get $6 - i32.lt_s + local.get $3 + local.get $5 + i32.gt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $7 - local.get $4 + local.get $2 + local.get $5 i32.const 3 i32.shl i32.add i64.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 - local.get $3 + local.set $1 + local.get $6 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.const 11856 - local.get $3 + local.get $6 i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 - local.get $3 + local.get $1 + local.get $6 i32.add - local.set $0 + local.set $1 end - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|0 end end - local.get $5 - local.get $1 + local.get $4 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $7 - local.get $6 + local.get $2 + local.get $3 i32.const 3 i32.shl i32.add i64.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -11428,8 +11414,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end local.get $0 return @@ -12230,18 +12214,18 @@ i32.const 16 i32.const 16 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $7 i32.store $0 - local.get $8 + local.get $7 i32.const 0 i32.store $0 - local.get $8 + local.get $7 i32.const 0 i32.store $0 offset=4 - local.get $8 + local.get $7 i32.const 0 i32.store $0 offset=8 - local.get $8 + local.get $7 i32.const 0 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer @@ -12250,23 +12234,23 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store $0 offset=4 - local.get $8 + local.get $7 local.get $1 i32.store $0 local.get $1 if - local.get $8 + local.get $7 local.get $1 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $8 + local.get $7 local.get $1 i32.store $0 offset=4 - local.get $8 + local.get $7 i32.const 1600 i32.store $0 offset=8 - local.get $8 + local.get $7 i32.const 400 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer @@ -12274,7 +12258,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $8 + local.get $7 i32.store $0 loop $for-loop|0 local.get $2 @@ -12295,15 +12279,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 i32.const 11568 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 11568 i32.store $0 i32.const 0 @@ -12314,9 +12298,7 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $0 - local.set $7 - local.get $0 + local.tee $8 i32.const 10032 i32.store $0 offset=4 call $~lib/math/NativeMath.random @@ -12358,16 +12340,16 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $0 + local.set $1 br $__inlined_func$~lib/string/String#charAt end global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store $0 - local.get $0 + local.get $1 local.get $4 i32.const 1 i32.shl @@ -12381,13 +12363,13 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $7 local.get $1 + i32.store $0 offset=4 + local.get $8 local.get $0 + local.get $1 call $~lib/string/String.__concat - local.tee $1 + local.tee $0 i32.store $0 local.get $3 i32.const 1 @@ -12401,11 +12383,11 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=4 - local.get $8 + local.get $7 local.get $2 - local.get $1 + local.get $0 call $~lib/array/Array<~lib/array/Array>#__set local.get $2 i32.const 1 @@ -12418,7 +12400,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $7 return end i32.const 48992 @@ -12479,19 +12461,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 0 i32.store $0 - local.get $1 + local.get $2 i32.const 11856 i32.store $0 local.get $0 i32.load $0 offset=4 - local.set $4 + local.set $3 local.get $0 i32.load $0 offset=12 local.set $0 - local.get $1 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -12506,7 +12488,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $3 + local.tee $4 i32.const 0 i32.lt_s if @@ -12518,10 +12500,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $3 + local.get $4 i32.eqz if - local.get $4 + local.get $3 i32.load8_s $0 call $~lib/util/number/itoa32 local.set $0 @@ -12536,67 +12518,65 @@ i32.load $0 i32.const 1 i32.shr_u - local.tee $5 + local.tee $2 i32.const 11 i32.add - local.get $3 + local.get $4 i32.mul i32.const 11 i32.add - local.tee $6 + local.tee $5 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s + local.get $4 + local.get $6 + i32.gt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $2 - local.get $4 + local.get $3 + local.get $6 i32.add i32.load8_s $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 - local.get $5 + local.set $1 + local.get $2 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.const 11856 - local.get $5 + local.get $2 i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 - local.get $5 + local.get $1 + local.get $2 i32.add - local.set $0 + local.set $1 end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|0 end end - local.get $6 - local.get $1 + local.get $5 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -12605,13 +12585,13 @@ i32.add i32.load8_s $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -12624,8 +12604,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -12692,19 +12670,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 0 i32.store $0 - local.get $1 + local.get $2 i32.const 11856 i32.store $0 local.get $0 i32.load $0 offset=4 - local.set $4 + local.set $3 local.get $0 i32.load $0 offset=12 local.set $0 - local.get $1 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -12719,7 +12697,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $3 + local.tee $4 i32.const 0 i32.lt_s if @@ -12731,10 +12709,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $3 + local.get $4 i32.eqz if - local.get $4 + local.get $3 i32.load8_u $0 call $~lib/util/number/utoa32 local.set $0 @@ -12749,67 +12727,65 @@ i32.load $0 i32.const 1 i32.shr_u - local.tee $5 + local.tee $2 i32.const 10 i32.add - local.get $3 + local.get $4 i32.mul i32.const 10 i32.add - local.tee $6 + local.tee $5 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s + local.get $4 + local.get $6 + i32.gt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $2 - local.get $4 + local.get $3 + local.get $6 i32.add i32.load8_u $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 - local.get $5 + local.set $1 + local.get $2 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.const 11856 - local.get $5 + local.get $2 i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 - local.get $5 + local.get $1 + local.get $2 i32.add - local.set $0 + local.set $1 end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|0 end end - local.get $6 - local.get $1 + local.get $5 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -12818,13 +12794,13 @@ i32.add i32.load8_u $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -12837,8 +12813,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -13086,6 +13060,7 @@ (local $10 i32) (local $11 i32) (local $12 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer i32.const 508 i32.sub @@ -13156,10 +13131,10 @@ i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -13170,60 +13145,60 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $0 + local.get $1 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 $1 i32.store $0 end - local.get $0 + local.get $1 i32.const 0 i32.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=4 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $8 i32.store $0 offset=4 - local.get $0 - local.get $6 + local.get $1 + local.get $8 i32.store $0 - local.get $6 + local.get $8 if - local.get $0 - local.get $6 + local.get $1 + local.get $8 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - local.get $6 + local.get $1 + local.get $8 i32.store $0 offset=4 - local.get $0 + local.get $1 i32.const 1 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 + local.get $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 1664 @@ -13256,27 +13231,27 @@ i32.const 1 local.get $0 i32.load $0 offset=12 - local.tee $6 - local.get $6 + local.tee $8 + local.get $8 i32.const 1 i32.gt_s select - local.tee $7 + local.tee $9 i32.const 3 - local.get $6 - local.get $6 + local.get $8 + local.get $8 i32.const 3 i32.gt_s select - local.tee $6 + local.tee $8 i32.lt_s if local.get $1 - local.get $7 + local.get $9 i32.add i32.const 1 - local.get $6 - local.get $7 + local.get $8 + local.get $9 i32.sub memory.fill $0 end @@ -13308,23 +13283,23 @@ local.set $1 local.get $0 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.const 0 - local.get $6 + local.get $8 i32.const 0 i32.le_s select - local.tee $7 - local.get $6 - local.tee $6 + local.tee $9 + local.get $8 + local.tee $8 i32.lt_s if local.get $1 - local.get $7 + local.get $9 i32.add i32.const 0 - local.get $6 - local.get $7 + local.get $8 + local.get $9 i32.sub memory.fill $0 end @@ -13354,25 +13329,25 @@ local.set $1 local.get $0 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.const 0 - local.get $6 + local.get $8 i32.const 0 i32.le_s select - local.tee $7 - local.get $6 + local.tee $9 + local.get $8 i32.const 3 i32.sub - local.tee $6 + local.tee $8 i32.lt_s if local.get $1 - local.get $7 + local.get $9 i32.add i32.const 1 - local.get $6 - local.get $7 + local.get $8 + local.get $9 i32.sub memory.fill $0 end @@ -13404,20 +13379,20 @@ local.set $1 local.get $0 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.const 2 i32.sub - local.tee $7 - local.get $6 - local.tee $6 + local.tee $9 + local.get $8 + local.tee $8 i32.lt_s if local.get $1 - local.get $7 + local.get $9 i32.add i32.const 2 - local.get $6 - local.get $7 + local.get $8 + local.get $9 i32.sub memory.fill $0 end @@ -13448,27 +13423,27 @@ i32.const 1 local.get $0 i32.load $0 offset=12 - local.tee $6 - local.get $6 + local.tee $8 + local.get $8 i32.const 1 i32.gt_s select - local.tee $7 - local.get $6 + local.tee $9 + local.get $8 i32.const 0 - local.get $6 + local.get $8 i32.const 0 i32.le_s select - local.tee $6 + local.tee $8 i32.lt_s if local.get $1 - local.get $7 + local.get $9 i32.add i32.const 0 - local.get $6 - local.get $7 + local.get $8 + local.get $9 i32.sub memory.fill $0 end @@ -13500,23 +13475,23 @@ local.set $1 local.get $0 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.const 0 - local.get $6 + local.get $8 i32.const 0 i32.le_s select - local.tee $7 - local.get $6 - local.tee $6 + local.tee $9 + local.get $8 + local.tee $8 i32.lt_s if local.get $1 - local.get $7 + local.get $9 i32.add i32.const -1 - local.get $6 - local.get $7 + local.get $8 + local.get $9 i32.sub memory.fill $0 end @@ -14373,9 +14348,9 @@ i32.store $0 offset=40 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $6 + local.tee $8 i32.store $0 - local.get $6 + local.get $8 call $std/array/internalCapacity i32.const 8 i32.ne @@ -14389,9 +14364,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $6 + local.tee $8 i32.store $0 - local.get $6 + local.get $8 i32.load $0 offset=12 i32.const 3 i32.ne @@ -14420,19 +14395,19 @@ i32.const 4 i32.const 2736 call $~lib/rt/__newArray - local.set $6 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store $0 offset=8 local.get $1 - local.get $6 + local.get $8 call $~lib/array/Array#concat drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $6 + local.tee $8 i32.store $0 - local.get $6 + local.get $8 call $std/array/internalCapacity i32.const 8 i32.ne @@ -14492,19 +14467,19 @@ global.get $~lib/memory/__stack_pointer local.tee $1 global.get $std/array/arr - local.tee $6 + local.tee $8 i32.store $0 local.get $1 - local.get $6 + local.get $8 local.get $0 call $~lib/array/Array#concat local.tee $1 i32.store $0 offset=40 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $6 + local.tee $8 i32.store $0 - local.get $6 + local.get $8 call $std/array/internalCapacity i32.const 8 i32.ne @@ -14641,11 +14616,11 @@ global.get $~lib/memory/__stack_pointer local.tee $1 global.get $std/array/arr - local.tee $6 + local.tee $8 i32.store $0 offset=8 local.get $1 local.get $0 - local.get $6 + local.get $8 call $~lib/array/Array#concat local.tee $1 i32.store $0 offset=40 @@ -15395,11 +15370,11 @@ end local.get $0 i32.load $0 offset=4 - local.tee $6 + local.tee $8 i32.load $0 - local.set $7 - local.get $6 - local.get $6 + local.set $9 + local.get $8 + local.get $8 i32.const 4 i32.add local.get $1 @@ -15408,17 +15383,17 @@ local.tee $1 i32.const 2 i32.shl - local.tee $8 + local.tee $10 memory.copy $0 $0 - local.get $6 local.get $8 + local.get $10 i32.add i32.const 0 i32.store $0 local.get $0 local.get $1 i32.store $0 offset=12 - local.get $7 + local.get $9 global.set $std/array/i global.get $std/array/i i32.const 41 @@ -15653,12 +15628,12 @@ i32.const 4 i32.const 4000 call $~lib/rt/__newArray - local.set $6 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store $0 offset=8 local.get $1 - local.get $6 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15682,12 +15657,12 @@ i32.const 4 i32.const 4032 call $~lib/rt/__newArray - local.set $6 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store $0 offset=8 local.get $1 - local.get $6 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15711,12 +15686,12 @@ i32.const 4 i32.const 4064 call $~lib/rt/__newArray - local.set $6 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store $0 offset=8 local.get $1 - local.get $6 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15762,12 +15737,12 @@ i32.const 4 i32.const 4112 call $~lib/rt/__newArray - local.set $6 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store $0 offset=8 local.get $1 - local.get $6 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15791,12 +15766,12 @@ i32.const 4 i32.const 4144 call $~lib/rt/__newArray - local.set $6 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store $0 offset=8 local.get $1 - local.get $6 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15820,12 +15795,12 @@ i32.const 4 i32.const 4176 call $~lib/rt/__newArray - local.set $6 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store $0 offset=8 local.get $1 - local.get $6 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15890,14 +15865,14 @@ local.get $0 i32.const 1 i32.shr_u - local.set $6 + local.set $8 local.get $0 i32.const 1 i32.sub local.set $0 loop $while-continue|0 local.get $2 - local.get $6 + local.get $8 i32.lt_u if local.get $1 @@ -15905,10 +15880,10 @@ i32.const 2 i32.shl i32.add - local.tee $7 + local.tee $9 i32.load $0 - local.set $8 - local.get $7 + local.set $10 + local.get $9 local.get $1 local.get $0 local.get $2 @@ -15916,11 +15891,11 @@ i32.const 2 i32.shl i32.add - local.tee $7 + local.tee $9 i32.load $0 i32.store $0 - local.get $7 - local.get $8 + local.get $9 + local.get $10 i32.store $0 local.get $2 i32.const 1 @@ -16041,24 +16016,24 @@ local.get $0 local.get $1 call $~lib/array/Array#reverse - local.tee $1 + local.tee $0 i32.store $0 offset=60 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 loop $for-loop|0 - local.get $0 + local.get $1 local.get $2 i32.lt_s if - local.get $1 local.get $0 - call $~lib/array/Array#__get local.get $1 - i32.load $0 offset=12 + call $~lib/array/Array#__get local.get $0 + i32.load $0 offset=12 + local.get $1 i32.sub i32.const 1 i32.sub @@ -16071,10 +16046,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 @@ -16092,24 +16067,24 @@ local.get $0 local.get $1 call $~lib/array/Array#reverse - local.tee $1 + local.tee $0 i32.store $0 offset=64 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 loop $for-loop|1 - local.get $0 + local.get $1 local.get $2 i32.lt_s if - local.get $1 local.get $0 - call $~lib/array/Array#__get local.get $1 - i32.load $0 offset=12 + call $~lib/array/Array#__get local.get $0 + i32.load $0 offset=12 + local.get $1 i32.sub i32.const 1 i32.sub @@ -16122,10 +16097,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 @@ -16143,24 +16118,24 @@ local.get $0 local.get $1 call $~lib/array/Array#reverse - local.tee $1 + local.tee $0 i32.store $0 offset=68 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 loop $for-loop|2 - local.get $0 + local.get $1 local.get $2 i32.lt_s if - local.get $1 local.get $0 - call $~lib/array/Array#__get local.get $1 - i32.load $0 offset=12 + call $~lib/array/Array#__get local.get $0 + i32.load $0 offset=12 + local.get $1 i32.sub i32.const 1 i32.sub @@ -16173,10 +16148,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 @@ -16194,24 +16169,24 @@ local.get $0 local.get $1 call $~lib/array/Array#reverse - local.tee $1 + local.tee $0 i32.store $0 offset=72 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 loop $for-loop|3 - local.get $0 + local.get $1 local.get $2 i32.lt_s if - local.get $1 local.get $0 - call $~lib/array/Array#__get local.get $1 - i32.load $0 offset=12 + call $~lib/array/Array#__get local.get $0 + i32.load $0 offset=12 + local.get $1 i32.sub i32.const 1 i32.sub @@ -16224,10 +16199,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 @@ -16245,24 +16220,24 @@ local.get $0 local.get $1 call $~lib/array/Array#reverse - local.tee $1 + local.tee $0 i32.store $0 offset=76 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 loop $for-loop|4 - local.get $0 + local.get $1 local.get $2 i32.lt_s if - local.get $1 local.get $0 - call $~lib/array/Array#__get local.get $1 - i32.load $0 offset=12 + call $~lib/array/Array#__get local.get $0 + i32.load $0 offset=12 + local.get $1 i32.sub i32.const 1 i32.sub @@ -16275,10 +16250,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 @@ -16296,24 +16271,24 @@ local.get $0 local.get $1 call $~lib/array/Array#reverse - local.tee $1 + local.tee $0 i32.store $0 offset=80 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 loop $for-loop|5 - local.get $0 + local.get $1 local.get $2 i32.lt_s if - local.get $1 local.get $0 - call $~lib/array/Array#__get local.get $1 - i32.load $0 offset=12 + call $~lib/array/Array#__get local.get $0 + i32.load $0 offset=12 + local.get $1 i32.sub i32.const 1 i32.sub @@ -16326,10 +16301,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 @@ -16338,15 +16313,15 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 0 i32.le_s i32.or @@ -16354,14 +16329,14 @@ local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|085 - local.get $0 - local.get $6 + loop $while-continue|083 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add @@ -16369,17 +16344,17 @@ i32.const 44 i32.eq br_if $__inlined_func$~lib/array/Array#indexOf - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|085 + local.set $1 + br $while-continue|083 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i if @@ -16395,48 +16370,48 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $0 - i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#indexOf86 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf84 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf86 + br_if $__inlined_func$~lib/array/Array#indexOf84 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|090 - local.get $0 - local.get $6 + loop $while-continue|088 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 42 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf86 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf84 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|090 + local.set $1 + br $while-continue|088 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 2 @@ -16454,48 +16429,48 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $0 - i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#indexOf91 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf89 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf91 + br_if $__inlined_func$~lib/array/Array#indexOf89 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|095 - local.get $0 - local.get $6 + loop $while-continue|093 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 45 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf91 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf89 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|095 + local.set $1 + br $while-continue|093 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -16513,48 +16488,48 @@ local.tee $2 i32.store $0 i32.const 100 - local.set $0 - i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#indexOf96 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf94 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 100 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf96 + br_if $__inlined_func$~lib/array/Array#indexOf94 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|0100 - local.get $0 - local.get $6 + loop $while-continue|098 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf96 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf94 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|0100 + local.set $1 + br $while-continue|098 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -16569,12 +16544,12 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf101 - local.get $1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf99 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -16582,45 +16557,45 @@ i32.const -100 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf101 + br_if $__inlined_func$~lib/array/Array#indexOf99 local.get $2 i32.const 100 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $0 - local.get $1 - i32.load $0 offset=4 local.set $1 - loop $while-continue|0105 - local.get $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0103 + local.get $1 local.get $2 i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf101 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf99 + local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|0105 + local.set $1 + br $while-continue|0103 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -16635,12 +16610,12 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf106 - local.get $1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf104 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -16648,45 +16623,45 @@ i32.const -2 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf106 + br_if $__inlined_func$~lib/array/Array#indexOf104 local.get $2 i32.const 2 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $0 - local.get $1 - i32.load $0 offset=4 local.set $1 - loop $while-continue|0110 - local.get $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0108 + local.get $1 local.get $2 i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf106 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf104 + local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|0110 + local.set $1 + br $while-continue|0108 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 3 @@ -16701,12 +16676,12 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf111 - local.get $1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf109 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -16714,45 +16689,45 @@ i32.const -4 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf111 + br_if $__inlined_func$~lib/array/Array#indexOf109 local.get $2 i32.const 4 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $0 - local.get $1 - i32.load $0 offset=4 local.set $1 - loop $while-continue|0115 - local.get $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0113 + local.get $1 local.get $2 i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf111 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf109 + local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|0115 + local.set $1 + br $while-continue|0113 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -16770,48 +16745,48 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $0 - i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#indexOf116 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf114 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf116 + br_if $__inlined_func$~lib/array/Array#indexOf114 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|0120 - local.get $0 - local.get $6 + loop $while-continue|0118 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf116 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf114 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|0120 + local.set $1 + br $while-continue|0118 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -16829,48 +16804,48 @@ local.tee $2 i32.store $0 i32.const 1 - local.set $0 - i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#indexOf121 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf119 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 1 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf121 + br_if $__inlined_func$~lib/array/Array#indexOf119 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|0125 - local.get $0 - local.get $6 + loop $while-continue|0123 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf121 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf119 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|0125 + local.set $1 + br $while-continue|0123 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -16888,48 +16863,48 @@ local.tee $2 i32.store $0 i32.const 2 - local.set $0 - i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#indexOf126 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf124 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 2 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf126 + br_if $__inlined_func$~lib/array/Array#indexOf124 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|0130 - local.get $0 - local.get $6 + loop $while-continue|0128 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf126 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf124 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|0130 + local.set $1 + br $while-continue|0128 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 3 @@ -16952,15 +16927,15 @@ local.get $2 i32.store $0 i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 0 i32.le_s i32.or @@ -16968,14 +16943,14 @@ local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|0134 - local.get $0 - local.get $6 + loop $while-continue|0132 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add @@ -16983,17 +16958,17 @@ f32.const nan:0x400000 f32.eq br_if $__inlined_func$~lib/array/Array#indexOf - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|0134 + local.set $1 + br $while-continue|0132 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -17014,15 +16989,15 @@ local.get $2 i32.store $0 i32.const 0 - local.set $0 - i32.const -1 local.set $1 + i32.const -1 + local.set $0 block $__inlined_func$~lib/array/Array#indexOf local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 0 i32.le_s i32.or @@ -17030,14 +17005,14 @@ local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|0138 - local.get $0 - local.get $6 + loop $while-continue|0136 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 3 i32.shl i32.add @@ -17045,17 +17020,17 @@ f64.const nan:0x8000000000000 f64.eq br_if $__inlined_func$~lib/array/Array#indexOf - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|0138 + local.set $1 + br $while-continue|0136 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -17072,14 +17047,14 @@ i32.const 4 i32.const 4528 call $~lib/rt/__newArray - local.tee $0 + local.tee $1 i32.store $0 offset=84 i32.const 1 global.set $~argumentsLength i32.const -1 - local.set $1 + local.set $0 block $__inlined_func$~lib/array/Array#lastIndexOf - local.get $0 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -17094,17 +17069,17 @@ i32.const 0 i32.lt_s select - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=4 local.set $2 - loop $while-continue|03 - local.get $1 + loop $while-continue|02 + local.get $0 i32.const 0 i32.ge_s if local.get $2 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add @@ -17112,17 +17087,17 @@ i32.const 2 i32.eq br_if $__inlined_func$~lib/array/Array#lastIndexOf - local.get $1 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $while-continue|03 + local.set $0 + br $while-continue|02 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -17136,13 +17111,13 @@ i32.const 1 global.set $~argumentsLength i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#lastIndexOf8 - local.get $0 + local.set $0 + block $__inlined_func$~lib/array/Array#lastIndexOf7 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf8 + br_if $__inlined_func$~lib/array/Array#lastIndexOf7 local.get $2 local.get $2 i32.add @@ -17153,35 +17128,35 @@ i32.const 0 i32.lt_s select - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=4 local.set $2 - loop $while-continue|09 - local.get $1 + loop $while-continue|08 + local.get $0 i32.const 0 i32.ge_s if local.get $2 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 7 i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf8 - local.get $1 + br_if $__inlined_func$~lib/array/Array#lastIndexOf7 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $while-continue|09 + local.set $0 + br $while-continue|08 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -17193,13 +17168,13 @@ unreachable end i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#lastIndexOf10 - local.get $0 + local.set $0 + block $__inlined_func$~lib/array/Array#lastIndexOf9 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf10 + br_if $__inlined_func$~lib/array/Array#lastIndexOf9 i32.const 3 local.get $2 i32.const 1 @@ -17208,35 +17183,35 @@ i32.const 3 i32.gt_s select - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=4 local.set $2 - loop $while-continue|0142 - local.get $1 + loop $while-continue|0140 + local.get $0 i32.const 0 i32.ge_s if local.get $2 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf10 - local.get $1 + br_if $__inlined_func$~lib/array/Array#lastIndexOf9 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $while-continue|0142 + local.set $0 + br $while-continue|0140 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -17248,13 +17223,13 @@ unreachable end i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#lastIndexOf143 - local.get $0 + local.set $0 + block $__inlined_func$~lib/array/Array#lastIndexOf141 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf143 + br_if $__inlined_func$~lib/array/Array#lastIndexOf141 i32.const 2 local.get $2 i32.const 1 @@ -17263,35 +17238,35 @@ i32.const 2 i32.gt_s select - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=4 local.set $2 - loop $while-continue|0147 - local.get $1 + loop $while-continue|0145 + local.get $0 i32.const 0 i32.ge_s if local.get $2 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf143 - local.get $1 + br_if $__inlined_func$~lib/array/Array#lastIndexOf141 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $while-continue|0147 + local.set $0 + br $while-continue|0145 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1552 @@ -17301,45 +17276,45 @@ unreachable end i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#lastIndexOf148 - local.get $0 + local.set $0 + block $__inlined_func$~lib/array/Array#lastIndexOf146 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf148 + br_if $__inlined_func$~lib/array/Array#lastIndexOf146 local.get $2 i32.const 2 i32.sub - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=4 local.set $2 - loop $while-continue|0152 - local.get $1 + loop $while-continue|0150 + local.get $0 i32.const 0 i32.ge_s if local.get $2 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf148 - local.get $1 + br_if $__inlined_func$~lib/array/Array#lastIndexOf146 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $while-continue|0152 + local.set $0 + br $while-continue|0150 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1552 @@ -17349,45 +17324,45 @@ unreachable end i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#lastIndexOf153 - local.get $0 + local.set $0 + block $__inlined_func$~lib/array/Array#lastIndexOf151 + local.get $1 i32.load $0 offset=12 local.tee $2 i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf153 + br_if $__inlined_func$~lib/array/Array#lastIndexOf151 local.get $2 i32.const 1 i32.sub - local.set $1 - local.get $0 - i32.load $0 offset=4 local.set $0 - loop $while-continue|0157 - local.get $1 + local.get $1 + i32.load $0 offset=4 + local.set $1 + loop $while-continue|0155 + local.get $0 i32.const 0 i32.ge_s if - local.get $0 local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf153 - local.get $1 + br_if $__inlined_func$~lib/array/Array#lastIndexOf151 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $while-continue|0157 + local.set $0 + br $while-continue|0155 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 3 i32.ne if @@ -17403,48 +17378,48 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $0 - i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#indexOf158 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf156 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf158 + br_if $__inlined_func$~lib/array/Array#indexOf156 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|0162 - local.get $0 - local.get $6 + loop $while-continue|0160 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 44 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf158 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf156 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|0162 + local.set $1 + br $while-continue|0160 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -17460,48 +17435,48 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $0 - i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#indexOf163 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf161 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf163 + br_if $__inlined_func$~lib/array/Array#indexOf161 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|0167 - local.get $0 - local.get $6 + loop $while-continue|0165 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 42 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf163 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf161 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|0167 + local.set $1 + br $while-continue|0165 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -17517,48 +17492,48 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $0 - i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#indexOf168 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf166 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf168 + br_if $__inlined_func$~lib/array/Array#indexOf166 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|0172 - local.get $0 - local.get $6 + loop $while-continue|0170 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 45 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf168 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf166 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|0172 + local.set $1 + br $while-continue|0170 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.ge_s if @@ -17574,48 +17549,48 @@ local.tee $2 i32.store $0 i32.const 100 - local.set $0 - i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#indexOf173 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf171 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 100 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf173 + br_if $__inlined_func$~lib/array/Array#indexOf171 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|0177 - local.get $0 - local.get $6 + loop $while-continue|0175 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf173 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf171 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|0177 + local.set $1 + br $while-continue|0175 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.ge_s if @@ -17628,12 +17603,12 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf178 - local.get $1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf176 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -17641,45 +17616,45 @@ i32.const -100 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf178 + br_if $__inlined_func$~lib/array/Array#indexOf176 local.get $2 i32.const 100 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $0 - local.get $1 - i32.load $0 offset=4 local.set $1 - loop $while-continue|0182 - local.get $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0180 + local.get $1 local.get $2 i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf178 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf176 + local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|0182 + local.set $1 + br $while-continue|0180 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -17692,12 +17667,12 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf183 - local.get $1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf181 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -17705,45 +17680,45 @@ i32.const -2 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf183 + br_if $__inlined_func$~lib/array/Array#indexOf181 local.get $2 i32.const 2 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $0 - local.get $1 - i32.load $0 offset=4 local.set $1 - loop $while-continue|0187 - local.get $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0185 + local.get $1 local.get $2 i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf183 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf181 + local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|0187 + local.set $1 + br $while-continue|0185 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -17756,12 +17731,12 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf188 - local.get $1 + local.set $1 + block $__inlined_func$~lib/array/Array#indexOf186 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -17769,45 +17744,45 @@ i32.const -4 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf188 + br_if $__inlined_func$~lib/array/Array#indexOf186 local.get $2 i32.const 4 i32.sub - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select - local.set $0 - local.get $1 - i32.load $0 offset=4 local.set $1 - loop $while-continue|0192 - local.get $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0190 + local.get $1 local.get $2 i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf188 - local.get $0 + br_if $__inlined_func$~lib/array/Array#indexOf186 + local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|0192 + local.set $1 + br $while-continue|0190 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -17823,48 +17798,48 @@ local.tee $2 i32.store $0 i32.const 0 - local.set $0 - i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#indexOf193 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf191 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 0 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf193 + br_if $__inlined_func$~lib/array/Array#indexOf191 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|0197 - local.get $0 - local.get $6 + loop $while-continue|0195 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf193 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf191 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|0197 + local.set $1 + br $while-continue|0195 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -17880,48 +17855,48 @@ local.tee $2 i32.store $0 i32.const 1 - local.set $0 - i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#indexOf198 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf196 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 1 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf198 + br_if $__inlined_func$~lib/array/Array#indexOf196 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|0202 - local.get $0 - local.get $6 + loop $while-continue|0200 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf198 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf196 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|0202 + local.set $1 + br $while-continue|0200 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -17937,48 +17912,48 @@ local.tee $2 i32.store $0 i32.const 2 - local.set $0 - i32.const -1 local.set $1 - block $__inlined_func$~lib/array/Array#indexOf203 + i32.const -1 + local.set $0 + block $__inlined_func$~lib/array/Array#indexOf201 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.eqz - local.get $6 + local.get $8 i32.const 2 i32.le_s i32.or - br_if $__inlined_func$~lib/array/Array#indexOf203 + br_if $__inlined_func$~lib/array/Array#indexOf201 local.get $2 i32.load $0 offset=4 local.set $2 - loop $while-continue|0207 - local.get $0 - local.get $6 + loop $while-continue|0205 + local.get $1 + local.get $8 i32.lt_s if local.get $2 - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 43 i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf203 - local.get $1 + br_if $__inlined_func$~lib/array/Array#indexOf201 + local.get $0 i32.const 1 i32.add - local.set $0 - br $while-continue|0207 + local.set $1 + br $while-continue|0205 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -17995,14 +17970,14 @@ i32.const 9 i32.const 4576 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 i32.const 0 - local.set $0 + local.set $1 i32.const 0 - local.get $1 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -18012,17 +17987,17 @@ i32.or br_if $__inlined_func$~lib/array/Array#includes drop - local.get $1 + local.get $0 i32.load $0 offset=4 - local.set $1 - loop $while-continue|0211 - local.get $0 + local.set $0 + loop $while-continue|0209 + local.get $1 local.get $2 i32.lt_s if i32.const 1 - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -18032,11 +18007,11 @@ f32.ne br_if $__inlined_func$~lib/array/Array#includes drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|0211 + local.set $1 + br $while-continue|0209 end end i32.const 0 @@ -18056,14 +18031,14 @@ i32.const 12 i32.const 4608 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 i32.const 0 - local.set $0 + local.set $1 i32.const 0 - local.get $1 + local.get $0 i32.load $0 offset=12 local.tee $2 i32.eqz @@ -18073,17 +18048,17 @@ i32.or br_if $__inlined_func$~lib/array/Array#includes drop - local.get $1 + local.get $0 i32.load $0 offset=4 - local.set $1 - loop $while-continue|0215 - local.get $0 + local.set $0 + loop $while-continue|0213 + local.get $1 local.get $2 i32.lt_s if i32.const 1 - local.get $1 local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -18093,11 +18068,11 @@ f64.ne br_if $__inlined_func$~lib/array/Array#includes drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|0215 + local.set $1 + br $while-continue|0213 end end i32.const 0 @@ -19276,17 +19251,17 @@ i32.store $0 local.get $1 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.const 0 - local.get $6 + local.get $8 i32.const 0 i32.le_s select - local.set $7 + local.set $9 local.get $2 i32.const 1 - local.get $6 - local.get $7 + local.get $8 + local.get $9 i32.sub local.tee $2 local.get $2 @@ -19304,44 +19279,44 @@ i32.const 13 i32.const 0 call $~lib/rt/__newArray - local.tee $8 + local.tee $10 i32.store $0 - local.get $8 + local.get $10 i32.load $0 offset=4 local.get $1 i32.load $0 offset=4 - local.tee $9 - local.get $7 + local.tee $11 + local.get $9 i32.const 2 i32.shl i32.add - local.tee $10 + local.tee $12 local.get $2 i32.const 2 i32.shl memory.copy $0 $0 local.get $2 - local.get $7 + local.get $9 i32.add - local.tee $7 - local.get $6 + local.tee $9 + local.get $8 i32.ne if - local.get $10 + local.get $12 + local.get $11 local.get $9 - local.get $7 i32.const 2 i32.shl i32.add - local.get $6 - local.get $7 + local.get $8 + local.get $9 i32.sub i32.const 2 i32.shl memory.copy $0 $0 end local.get $1 - local.get $6 + local.get $8 local.get $2 i32.sub i32.store $0 offset=12 @@ -19350,9 +19325,9 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $8 + local.get $10 i32.store $0 offset=120 - local.get $8 + local.get $10 i32.load $0 offset=12 i32.const 1 i32.ne @@ -19365,7 +19340,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $10 i32.const 0 call $~lib/array/Array#__get local.tee $0 @@ -19483,57 +19458,57 @@ call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 6672 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 block $__inlined_func$~lib/array/Array#findIndex - loop $for-loop|0236 - local.get $0 - local.get $2 + loop $for-loop|0234 local.get $1 + local.get $2 + local.get $0 i32.load $0 offset=12 - local.tee $6 + local.tee $8 local.get $2 - local.get $6 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 - i32.load $0 offset=4 local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $0 i32.const 6672 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findIndex - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0236 + local.set $1 + br $for-loop|0234 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i if @@ -19547,57 +19522,57 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store $0 local.get $0 i32.const 6704 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $2 i32.load $0 offset=12 - local.set $2 - block $__inlined_func$~lib/array/Array#findIndex239 - loop $for-loop|0241 + local.set $0 + block $__inlined_func$~lib/array/Array#findIndex236 + loop $for-loop|0238 + local.get $1 local.get $0 local.get $2 - local.get $1 i32.load $0 offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $0 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $2 i32.const 6704 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex239 - local.get $0 + br_if $__inlined_func$~lib/array/Array#findIndex236 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0241 + local.set $1 + br $for-loop|0238 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -19613,57 +19588,57 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store $0 local.get $0 i32.const 6736 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $2 i32.load $0 offset=12 - local.set $2 - block $__inlined_func$~lib/array/Array#findIndex245 - loop $for-loop|0247 + local.set $0 + block $__inlined_func$~lib/array/Array#findIndex241 + loop $for-loop|0243 + local.get $1 local.get $0 local.get $2 - local.get $1 i32.load $0 offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $0 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $2 i32.const 6736 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex245 - local.get $0 + br_if $__inlined_func$~lib/array/Array#findIndex241 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0247 + local.set $1 + br $for-loop|0243 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -19679,57 +19654,57 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store $0 local.get $0 i32.const 6768 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $2 i32.load $0 offset=12 - local.set $2 - block $__inlined_func$~lib/array/Array#findIndex251 - loop $for-loop|0253 + local.set $0 + block $__inlined_func$~lib/array/Array#findIndex246 + loop $for-loop|0248 + local.get $1 local.get $0 local.get $2 - local.get $1 i32.load $0 offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $0 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $2 i32.const 6768 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex251 - local.get $0 + br_if $__inlined_func$~lib/array/Array#findIndex246 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0253 + local.set $1 + br $for-loop|0248 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -19761,57 +19736,57 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store $0 local.get $0 i32.const 6800 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $2 i32.load $0 offset=12 - local.set $2 - block $__inlined_func$~lib/array/Array#findIndex259 - loop $for-loop|0261 + local.set $0 + block $__inlined_func$~lib/array/Array#findIndex253 + loop $for-loop|0255 + local.get $1 local.get $0 local.get $2 - local.get $1 i32.load $0 offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $0 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $2 i32.const 6800 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex259 - local.get $0 + br_if $__inlined_func$~lib/array/Array#findIndex253 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0261 + local.set $1 + br $for-loop|0255 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -19854,57 +19829,57 @@ drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 6832 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 - block $__inlined_func$~lib/array/Array#findIndex265 - loop $for-loop|0267 - local.get $0 - local.get $2 + block $__inlined_func$~lib/array/Array#findIndex258 + loop $for-loop|0260 local.get $1 + local.get $2 + local.get $0 i32.load $0 offset=12 - local.tee $6 + local.tee $8 local.get $2 - local.get $6 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 - i32.load $0 offset=4 local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $0 i32.const 6832 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex265 - local.get $0 + br_if $__inlined_func$~lib/array/Array#findIndex258 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0267 + local.set $1 + br $for-loop|0260 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -19953,25 +19928,25 @@ i32.const 4 i32.const 6864 call $~lib/rt/__newArray - local.tee $1 + local.tee $0 i32.store $0 offset=132 global.get $~lib/memory/__stack_pointer i32.const 6912 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $0 + local.set $1 block $__inlined_func$~lib/array/Array#findLastIndex - loop $for-loop|0274 - local.get $0 + loop $for-loop|0266 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 - i32.load $0 offset=4 local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 i32.shl i32.add @@ -19980,23 +19955,23 @@ i32.const 3 global.set $~argumentsLength local.get $2 - local.get $0 local.get $1 + local.get $0 i32.const 6912 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#findLastIndex - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0274 + local.set $1 + br $for-loop|0266 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i if @@ -20010,20 +19985,20 @@ global.get $~lib/memory/__stack_pointer i32.const 6944 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $0 - block $__inlined_func$~lib/array/Array#findLastIndex277 - loop $for-loop|0279 - local.get $0 + local.set $1 + block $__inlined_func$~lib/array/Array#findLastIndex268 + loop $for-loop|0270 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 - i32.load $0 offset=4 local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 i32.shl i32.add @@ -20032,23 +20007,23 @@ i32.const 3 global.set $~argumentsLength local.get $2 - local.get $0 local.get $1 + local.get $0 i32.const 6944 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findLastIndex277 - local.get $0 + br_if $__inlined_func$~lib/array/Array#findLastIndex268 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0279 + local.set $1 + br $for-loop|0270 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -20064,20 +20039,20 @@ global.get $~lib/memory/__stack_pointer i32.const 6976 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $0 - block $__inlined_func$~lib/array/Array#findLastIndex282 - loop $for-loop|0284 - local.get $0 + local.set $1 + block $__inlined_func$~lib/array/Array#findLastIndex272 + loop $for-loop|0274 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 - i32.load $0 offset=4 local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 i32.shl i32.add @@ -20086,23 +20061,23 @@ i32.const 3 global.set $~argumentsLength local.get $2 - local.get $0 local.get $1 + local.get $0 i32.const 6976 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findLastIndex282 - local.get $0 + br_if $__inlined_func$~lib/array/Array#findLastIndex272 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0284 + local.set $1 + br $for-loop|0274 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -20118,20 +20093,20 @@ global.get $~lib/memory/__stack_pointer i32.const 7008 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $0 - block $__inlined_func$~lib/array/Array#findLastIndex287 - loop $for-loop|0289 - local.get $0 + local.set $1 + block $__inlined_func$~lib/array/Array#findLastIndex276 + loop $for-loop|0278 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 - i32.load $0 offset=4 local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 i32.shl i32.add @@ -20140,23 +20115,23 @@ i32.const 3 global.set $~argumentsLength local.get $2 - local.get $0 local.get $1 + local.get $0 i32.const 7008 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findLastIndex287 - local.get $0 + br_if $__inlined_func$~lib/array/Array#findLastIndex276 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0289 + local.set $1 + br $for-loop|0278 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const -1 @@ -20173,53 +20148,53 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store $0 local.get $0 i32.const 7040 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $2 i32.load $0 offset=12 - local.set $2 - loop $for-loop|0293 + local.set $0 + loop $for-loop|0281 + local.get $1 local.get $0 local.get $2 - local.get $1 i32.load $0 offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $0 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $2 i32.const 7040 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz br_if $__inlined_func$~lib/array/Array#every drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0293 + local.set $1 + br $for-loop|0281 end end i32.const 1 @@ -20233,57 +20208,57 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#every297 (result i32) + block $__inlined_func$~lib/array/Array#every284 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store $0 local.get $0 i32.const 7072 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $2 i32.load $0 offset=12 - local.set $2 - loop $for-loop|0299 + local.set $0 + loop $for-loop|0286 + local.get $1 local.get $0 local.get $2 - local.get $1 i32.load $0 offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $0 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $2 i32.const 7072 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/array/Array#every297 + br_if $__inlined_func$~lib/array/Array#every284 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0299 + local.set $1 + br $for-loop|0286 end end i32.const 1 @@ -20296,57 +20271,57 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#every303 (result i32) + block $__inlined_func$~lib/array/Array#every289 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store $0 local.get $0 i32.const 7104 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $2 i32.load $0 offset=12 - local.set $2 - loop $for-loop|0305 + local.set $0 + loop $for-loop|0291 + local.get $1 local.get $0 local.get $2 - local.get $1 i32.load $0 offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $0 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $2 i32.const 7104 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/array/Array#every303 + br_if $__inlined_func$~lib/array/Array#every289 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0305 + local.set $1 + br $for-loop|0291 end end i32.const 1 @@ -20376,57 +20351,57 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#every311 (result i32) + block $__inlined_func$~lib/array/Array#every296 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store $0 local.get $0 i32.const 7136 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $2 i32.load $0 offset=12 - local.set $2 - loop $for-loop|0313 + local.set $0 + loop $for-loop|0298 + local.get $1 local.get $0 local.get $2 - local.get $1 i32.load $0 offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $0 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $2 i32.const 7136 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/array/Array#every311 + br_if $__inlined_func$~lib/array/Array#every296 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0313 + local.set $1 + br $for-loop|0298 end end i32.const 1 @@ -20467,56 +20442,56 @@ local.get $0 call $~lib/array/Array#pop drop - block $__inlined_func$~lib/array/Array#every317 (result i32) + block $__inlined_func$~lib/array/Array#every301 (result i32) global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 7168 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 - loop $for-loop|0319 - local.get $0 - local.get $2 + loop $for-loop|0303 local.get $1 + local.get $2 + local.get $0 i32.load $0 offset=12 - local.tee $6 + local.tee $8 local.get $2 - local.get $6 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 - i32.load $0 offset=4 local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $0 i32.const 7168 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/array/Array#every317 + br_if $__inlined_func$~lib/array/Array#every301 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0319 + local.set $1 + br $for-loop|0303 end end i32.const 1 @@ -20563,52 +20538,52 @@ block $__inlined_func$~lib/array/Array#some (result i32) global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 7200 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 - loop $for-loop|0326 - local.get $0 - local.get $2 + loop $for-loop|0309 local.get $1 + local.get $2 + local.get $0 i32.load $0 offset=12 - local.tee $6 + local.tee $8 local.get $2 - local.get $6 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 - i32.load $0 offset=4 local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $0 i32.const 7200 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $__inlined_func$~lib/array/Array#some drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0326 + local.set $1 + br $for-loop|0309 end end i32.const 0 @@ -20622,56 +20597,56 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#some330 (result i32) + block $__inlined_func$~lib/array/Array#some312 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store $0 local.get $0 i32.const 7232 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $2 i32.load $0 offset=12 - local.set $2 - loop $for-loop|0332 + local.set $0 + loop $for-loop|0314 + local.get $1 local.get $0 local.get $2 - local.get $1 i32.load $0 offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $0 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $2 i32.const 7232 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some330 + br_if $__inlined_func$~lib/array/Array#some312 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0332 + local.set $1 + br $for-loop|0314 end end i32.const 0 @@ -20684,56 +20659,56 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#some336 (result i32) + block $__inlined_func$~lib/array/Array#some317 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store $0 local.get $0 i32.const 7264 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $2 i32.load $0 offset=12 - local.set $2 - loop $for-loop|0338 + local.set $0 + loop $for-loop|0319 + local.get $1 local.get $0 local.get $2 - local.get $1 i32.load $0 offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $0 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $2 i32.const 7264 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some336 + br_if $__inlined_func$~lib/array/Array#some317 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0338 + local.set $1 + br $for-loop|0319 end end i32.const 0 @@ -20762,56 +20737,56 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#some344 (result i32) + block $__inlined_func$~lib/array/Array#some324 (result i32) global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store $0 local.get $0 i32.const 7296 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $2 i32.load $0 offset=12 - local.set $2 - loop $for-loop|0346 + local.set $0 + loop $for-loop|0326 + local.get $1 local.get $0 local.get $2 - local.get $1 i32.load $0 offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $0 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $2 i32.const 7296 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some344 + br_if $__inlined_func$~lib/array/Array#some324 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0346 + local.set $1 + br $for-loop|0326 end end i32.const 0 @@ -20853,55 +20828,55 @@ local.get $0 call $~lib/array/Array#pop drop - block $__inlined_func$~lib/array/Array#some350 (result i32) + block $__inlined_func$~lib/array/Array#some329 (result i32) global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 7328 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 - loop $for-loop|0352 - local.get $0 - local.get $2 + loop $for-loop|0331 local.get $1 + local.get $2 + local.get $0 i32.load $0 offset=12 - local.tee $6 + local.tee $8 local.get $2 - local.get $6 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 - i32.load $0 offset=4 local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $0 i32.const 7328 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some350 + br_if $__inlined_func$~lib/array/Array#some329 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0352 + local.set $1 + br $for-loop|0331 end end i32.const 0 @@ -20948,49 +20923,49 @@ global.set $std/array/i global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 7360 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 - loop $for-loop|0359 - local.get $0 - local.get $2 + loop $for-loop|0337 local.get $1 + local.get $2 + local.get $0 i32.load $0 offset=12 - local.tee $6 + local.tee $8 local.get $2 - local.get $6 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 - i32.load $0 offset=4 local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $0 i32.const 7360 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0359 + local.set $1 + br $for-loop|0337 end end global.get $std/array/i @@ -21009,49 +20984,49 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store $0 local.get $0 i32.const 7392 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $2 i32.load $0 offset=12 - local.set $2 - loop $for-loop|0365 + local.set $0 + loop $for-loop|0342 + local.get $1 local.get $0 local.get $2 - local.get $1 i32.load $0 offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $0 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $2 i32.const 7392 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0365 + local.set $1 + br $for-loop|0342 end end global.get $std/array/i @@ -21086,49 +21061,49 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store $0 local.get $0 i32.const 7424 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $2 i32.load $0 offset=12 - local.set $2 - loop $for-loop|0373 + local.set $0 + loop $for-loop|0349 + local.get $1 local.get $0 local.get $2 - local.get $1 i32.load $0 offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $0 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $2 i32.const 7424 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0373 + local.set $1 + br $for-loop|0349 end end global.get $std/array/i @@ -21174,49 +21149,49 @@ global.set $std/array/i global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 7456 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 - loop $for-loop|0379 - local.get $0 - local.get $2 + loop $for-loop|0354 local.get $1 + local.get $2 + local.get $0 i32.load $0 offset=12 - local.tee $6 + local.tee $8 local.get $2 - local.get $6 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 - i32.load $0 offset=4 local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $0 i32.const 7456 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0379 + local.set $1 + br $for-loop|0354 end end global.get $std/array/i @@ -21262,49 +21237,49 @@ call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 7488 i32.store $0 offset=8 i32.const 0 - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.load $0 offset=12 local.set $2 - loop $for-loop|0387 - local.get $0 - local.get $2 + loop $for-loop|0361 local.get $1 + local.get $2 + local.get $0 i32.load $0 offset=12 - local.tee $6 + local.tee $8 local.get $2 - local.get $6 + local.get $8 i32.lt_s select i32.lt_s if - local.get $1 - i32.load $0 offset=4 local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 + local.set $8 i32.const 3 global.set $~argumentsLength - local.get $6 - local.get $0 + local.get $8 local.get $1 + local.get $0 i32.const 7488 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0387 + local.set $1 + br $for-loop|0361 end end global.get $~lib/memory/__stack_pointer @@ -21324,23 +21299,23 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|6 - local.get $0 + local.get $1 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 - local.get $1 + local.get $0 call $~lib/array/Array#pop drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|6 end end @@ -21373,7 +21348,7 @@ i32.const 3 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $2 @@ -21390,72 +21365,72 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 local.get $2 i32.load $0 offset=12 - local.tee $6 + local.tee $8 i32.const 2 i32.const 16 i32.const 0 call $~lib/rt/__newArray - local.tee $7 + local.tee $9 i32.store $0 - local.get $7 + local.get $9 i32.load $0 offset=4 - local.set $8 + local.set $10 i32.const 0 - local.set $1 + local.set $0 loop $for-loop|018 - local.get $1 - local.get $6 + local.get $0 + local.get $8 local.get $2 i32.load $0 offset=12 - local.tee $9 - local.get $6 - local.get $9 + local.tee $11 + local.get $8 + local.get $11 i32.lt_s select i32.lt_s if - local.get $1 + local.get $0 i32.const 2 i32.shl - local.tee $9 + local.tee $11 local.get $2 i32.load $0 offset=4 i32.add i32.load $0 - local.set $10 + local.set $12 i32.const 3 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $10 - local.get $1 + local.get $12 + local.get $0 local.get $2 i32.const 9296 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - local.tee $10 + local.tee $12 i32.store $0 offset=4 - local.get $8 - local.get $9 - i32.add local.get $10 + local.get $11 + i32.add + local.get $12 i32.store $0 - local.get $10 + local.get $12 if - local.get $7 - local.get $10 + local.get $9 + local.get $12 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|018 end end @@ -21463,14 +21438,14 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $7 + local.get $1 + local.get $9 i32.store $0 offset=136 global.get $~lib/memory/__stack_pointer local.set $0 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 9328 @@ -21484,62 +21459,60 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 0 i32.store $0 - local.get $1 local.get $2 + local.get $1 i32.load $0 offset=12 - local.tee $6 + local.tee $2 i32.const 2 i32.const 9 i32.const 0 call $~lib/rt/__newArray - local.tee $7 + local.tee $8 i32.store $0 - local.get $7 + local.get $8 i32.load $0 offset=4 - local.set $8 - i32.const 0 - local.set $1 - loop $for-loop|020 - local.get $1 + local.set $9 + loop $for-loop|019 local.get $6 local.get $2 + local.get $1 i32.load $0 offset=12 - local.tee $9 - local.get $6 - local.get $9 + local.tee $10 + local.get $2 + local.get $10 i32.lt_s select i32.lt_s if - local.get $1 + local.get $6 i32.const 2 i32.shl - local.tee $9 - local.get $2 + local.tee $10 + local.get $1 i32.load $0 offset=4 i32.add i32.load $0 - local.set $10 + local.set $11 i32.const 3 global.set $~argumentsLength - local.get $8 local.get $9 - i32.add local.get $10 + i32.add + local.get $11 + local.get $6 local.get $1 - local.get $2 i32.const 9328 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_f32) f32.store $0 - local.get $1 + local.get $6 i32.const 1 i32.add - local.set $1 - br $for-loop|020 + local.set $6 + br $for-loop|019 end end global.get $~lib/memory/__stack_pointer @@ -21547,9 +21520,9 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $7 + local.get $8 i32.store $0 offset=140 - local.get $7 + local.get $8 i32.load $0 offset=12 i32.const 4 i32.ne @@ -21561,7 +21534,7 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.const 0 call $~lib/array/Array#__get local.set $5 @@ -21903,56 +21876,56 @@ call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 9584 i32.store $0 offset=8 i32.const 0 - local.set $1 + local.set $0 i32.const 0 local.set $2 - local.get $0 + local.get $1 i32.load $0 offset=12 local.set $6 - loop $for-loop|0416 + loop $for-loop|0389 local.get $2 local.get $6 - local.get $0 + local.get $1 i32.load $0 offset=12 - local.tee $7 + local.tee $8 local.get $6 - local.get $7 + local.get $8 i32.lt_s select i32.lt_s if - local.get $0 + local.get $1 i32.load $0 offset=4 local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.set $7 + local.set $8 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $7 - local.get $2 local.get $0 + local.get $8 + local.get $2 + local.get $1 i32.const 9584 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 + local.set $0 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0416 + br $for-loop|0389 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -21968,56 +21941,56 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $6 + local.tee $1 i32.store $0 local.get $0 i32.const 9616 i32.store $0 offset=8 i32.const 4 - local.set $1 + local.set $0 i32.const 0 local.set $2 - local.get $6 + local.get $1 i32.load $0 offset=12 - local.set $0 - loop $for-loop|0422 + local.set $6 + loop $for-loop|0394 local.get $2 - local.get $0 local.get $6 + local.get $1 i32.load $0 offset=12 - local.tee $7 - local.get $0 - local.get $7 + local.tee $8 + local.get $6 + local.get $8 i32.lt_s select i32.lt_s if - local.get $6 + local.get $1 i32.load $0 offset=4 local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.set $7 + local.set $8 i32.const 4 - global.set $~argumentsLength - local.get $1 - local.get $7 + global.set $~argumentsLength + local.get $0 + local.get $8 local.get $2 - local.get $6 + local.get $1 i32.const 9616 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 + local.set $0 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0422 + br $for-loop|0394 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -22033,56 +22006,56 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $6 + local.tee $1 i32.store $0 local.get $0 i32.const 9648 i32.store $0 offset=8 i32.const 0 - local.set $1 + local.set $0 i32.const 0 local.set $2 - local.get $6 + local.get $1 i32.load $0 offset=12 - local.set $0 - loop $for-loop|0428 + local.set $6 + loop $for-loop|0399 local.get $2 - local.get $0 local.get $6 + local.get $1 i32.load $0 offset=12 - local.tee $7 - local.get $0 - local.get $7 + local.tee $8 + local.get $6 + local.get $8 i32.lt_s select i32.lt_s if - local.get $6 + local.get $1 i32.load $0 offset=4 local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.set $7 + local.set $8 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $7 + local.get $0 + local.get $8 local.get $2 - local.get $6 + local.get $1 i32.const 9648 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 + local.set $0 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0428 + br $for-loop|0399 end end - local.get $1 + local.get $0 i32.eqz if i32.const 0 @@ -22095,56 +22068,56 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $6 + local.tee $1 i32.store $0 local.get $0 i32.const 9680 i32.store $0 offset=8 i32.const 0 - local.set $1 + local.set $0 i32.const 0 local.set $2 - local.get $6 + local.get $1 i32.load $0 offset=12 - local.set $0 - loop $for-loop|0434 + local.set $6 + loop $for-loop|0404 local.get $2 - local.get $0 local.get $6 + local.get $1 i32.load $0 offset=12 - local.tee $7 - local.get $0 - local.get $7 + local.tee $8 + local.get $6 + local.get $8 i32.lt_s select i32.lt_s if - local.get $6 + local.get $1 i32.load $0 offset=4 local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.set $7 + local.set $8 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $7 + local.get $0 + local.get $8 local.get $2 - local.get $6 + local.get $1 i32.const 9680 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 + local.set $0 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0434 + br $for-loop|0404 end end - local.get $1 + local.get $0 if i32.const 0 i32.const 1552 @@ -22156,56 +22129,56 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $6 + local.tee $1 i32.store $0 local.get $0 i32.const 9712 i32.store $0 offset=8 i32.const 0 - local.set $1 + local.set $0 i32.const 0 local.set $2 - local.get $6 + local.get $1 i32.load $0 offset=12 - local.set $0 - loop $for-loop|0440 + local.set $6 + loop $for-loop|0409 local.get $2 - local.get $0 local.get $6 + local.get $1 i32.load $0 offset=12 - local.tee $7 - local.get $0 - local.get $7 + local.tee $8 + local.get $6 + local.get $8 i32.lt_s select i32.lt_s if - local.get $6 + local.get $1 i32.load $0 offset=4 local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.set $7 + local.set $8 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $7 + local.get $0 + local.get $8 local.get $2 - local.get $6 + local.get $1 i32.const 9712 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 + local.set $0 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0440 + br $for-loop|0409 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -22237,56 +22210,56 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $6 + local.tee $1 i32.store $0 local.get $0 i32.const 9744 i32.store $0 offset=8 i32.const 0 - local.set $1 + local.set $0 i32.const 0 local.set $2 - local.get $6 + local.get $1 i32.load $0 offset=12 - local.set $0 - loop $for-loop|0448 + local.set $6 + loop $for-loop|0416 local.get $2 - local.get $0 local.get $6 + local.get $1 i32.load $0 offset=12 - local.tee $7 - local.get $0 - local.get $7 + local.tee $8 + local.get $6 + local.get $8 i32.lt_s select i32.lt_s if - local.get $6 + local.get $1 i32.load $0 offset=4 local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.set $7 + local.set $8 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $7 + local.get $0 + local.get $8 local.get $2 - local.get $6 + local.get $1 i32.const 9744 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 + local.set $0 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0448 + br $for-loop|0416 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -22329,56 +22302,56 @@ drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 9776 i32.store $0 offset=8 i32.const 0 - local.set $1 + local.set $0 i32.const 0 local.set $2 - local.get $0 + local.get $1 i32.load $0 offset=12 local.set $6 - loop $for-loop|0454 + loop $for-loop|0421 local.get $2 local.get $6 - local.get $0 + local.get $1 i32.load $0 offset=12 - local.tee $7 + local.tee $8 local.get $6 - local.get $7 + local.get $8 i32.lt_s select i32.lt_s if - local.get $0 + local.get $1 i32.load $0 offset=4 local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.set $7 + local.set $8 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $7 - local.get $2 local.get $0 + local.get $8 + local.get $2 + local.get $1 i32.const 9776 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 + local.set $0 local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0454 + br $for-loop|0421 end end - local.get $1 + local.get $0 global.set $std/array/i global.get $std/array/i i32.const 1 @@ -22429,20 +22402,20 @@ i32.const 9808 i32.store $0 offset=8 i32.const 0 - local.set $0 + local.set $1 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $1 - loop $for-loop|0461 - local.get $1 + local.set $0 + loop $for-loop|0427 + local.get $0 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add @@ -22450,22 +22423,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $6 local.get $1 + local.get $6 + local.get $0 local.get $2 i32.const 9808 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $for-loop|0461 + local.set $0 + br $for-loop|0427 end end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -22487,20 +22460,20 @@ i32.const 9840 i32.store $0 offset=8 i32.const 4 - local.set $0 + local.set $1 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $1 - loop $for-loop|0466 - local.get $1 + local.set $0 + loop $for-loop|0431 + local.get $0 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add @@ -22508,22 +22481,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $6 local.get $1 + local.get $6 + local.get $0 local.get $2 i32.const 9840 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $for-loop|0466 + local.set $0 + br $for-loop|0431 end end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -22545,20 +22518,20 @@ i32.const 9872 i32.store $0 offset=8 i32.const 0 - local.set $0 + local.set $1 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $1 - loop $for-loop|0471 - local.get $1 + local.set $0 + loop $for-loop|0435 + local.get $0 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add @@ -22566,22 +22539,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $6 local.get $1 + local.get $6 + local.get $0 local.get $2 i32.const 9872 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $for-loop|0471 + local.set $0 + br $for-loop|0435 end end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -22600,20 +22573,20 @@ i32.const 9904 i32.store $0 offset=8 i32.const 0 - local.set $0 + local.set $1 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $1 - loop $for-loop|0476 - local.get $1 + local.set $0 + loop $for-loop|0439 + local.get $0 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add @@ -22621,22 +22594,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $6 local.get $1 + local.get $6 + local.get $0 local.get $2 i32.const 9904 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $for-loop|0476 + local.set $0 + br $for-loop|0439 end end - local.get $0 + local.get $1 if i32.const 0 i32.const 1552 @@ -22654,20 +22627,20 @@ i32.const 9936 i32.store $0 offset=8 i32.const 0 - local.set $0 + local.set $1 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $1 - loop $for-loop|0481 - local.get $1 + local.set $0 + loop $for-loop|0443 + local.get $0 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add @@ -22675,22 +22648,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $6 local.get $1 + local.get $6 + local.get $0 local.get $2 i32.const 9936 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $for-loop|0481 + local.set $0 + br $for-loop|0443 end end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -22728,20 +22701,20 @@ i32.const 9968 i32.store $0 offset=8 i32.const 0 - local.set $0 + local.set $1 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $1 - loop $for-loop|0488 - local.get $1 + local.set $0 + loop $for-loop|0449 + local.get $0 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add @@ -22749,22 +22722,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $6 local.get $1 + local.get $6 + local.get $0 local.get $2 i32.const 9968 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $for-loop|0488 + local.set $0 + br $for-loop|0449 end end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 10 @@ -22813,20 +22786,20 @@ i32.const 10000 i32.store $0 offset=8 i32.const 0 - local.set $0 + local.set $1 local.get $2 i32.load $0 offset=12 i32.const 1 i32.sub - local.set $1 - loop $for-loop|0493 - local.get $1 + local.set $0 + loop $for-loop|0453 + local.get $0 i32.const 0 i32.ge_s if local.get $2 i32.load $0 offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add @@ -22834,22 +22807,22 @@ local.set $6 i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $6 local.get $1 + local.get $6 + local.get $0 local.get $2 i32.const 10000 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $for-loop|0493 + local.set $0 + br $for-loop|0453 end end - local.get $0 + local.get $1 global.set $std/array/i global.get $std/array/i i32.const 6 @@ -23397,7 +23370,7 @@ i32.const 0 global.set $~argumentsLength i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23409,16 +23382,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of112 - block $0of113 - block $outOfRange14 + block $1of110 + block $0of111 + block $outOfRange12 global.get $~argumentsLength - br_table $0of113 $1of112 $outOfRange14 + br_table $0of111 $1of110 $outOfRange12 end unreachable end i32.const 10544 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 10544 i32.store $0 @@ -23427,7 +23400,7 @@ i32.load $0 offset=4 local.get $2 i32.load $0 offset=12 - local.get $0 + local.get $1 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23439,41 +23412,41 @@ i32.const 12 i32.const 10576 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 offset=8 i32.const 0 local.get $2 i32.load $0 offset=12 local.tee $6 - local.get $0 + local.get $1 i32.load $0 offset=12 i32.ne br_if $__inlined_func$std/array/isArraysEqual drop i32.const 1 - local.get $0 + local.get $1 local.get $2 i32.eq br_if $__inlined_func$std/array/isArraysEqual drop i32.const 0 - local.set $1 - loop $for-loop|068 - local.get $1 + local.set $0 + loop $for-loop|066 + local.get $0 local.get $6 i32.lt_s if local.get $2 - local.get $1 + local.get $0 call $~lib/array/Array#__get local.tee $4 local.get $4 f64.ne if (result i32) - local.get $0 local.get $1 + local.get $0 call $~lib/array/Array#__get local.tee $4 local.get $4 @@ -23485,14 +23458,14 @@ if i32.const 0 local.get $2 - local.get $1 + local.get $0 call $~lib/array/Array#__get i64.reinterpret_f64 i64.const 63 i64.shr_u i32.wrap_i64 - local.get $0 local.get $1 + local.get $0 call $~lib/array/Array#__get i64.reinterpret_f64 i64.const 63 @@ -23503,20 +23476,20 @@ drop i32.const 0 local.get $2 - local.get $1 - call $~lib/array/Array#__get local.get $0 + call $~lib/array/Array#__get local.get $1 + local.get $0 call $~lib/array/Array#__get f64.ne br_if $__inlined_func$std/array/isArraysEqual drop end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|068 + local.set $0 + br $for-loop|066 end end i32.const 1 @@ -23536,12 +23509,12 @@ i32.const 4 i32.const 10672 call $~lib/rt/__newArray - local.tee $1 + local.tee $0 i32.store $0 offset=272 i32.const 0 global.set $~argumentsLength i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23553,25 +23526,25 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of170 - block $0of171 - block $outOfRange72 + block $1of167 + block $0of168 + block $outOfRange69 global.get $~argumentsLength - br_table $0of171 $1of170 $outOfRange72 + br_table $0of168 $1of167 $outOfRange69 end unreachable end i32.const 10720 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 10720 i32.store $0 end - local.get $1 + local.get $0 i32.load $0 offset=4 - local.get $1 - i32.load $0 offset=12 local.get $0 + i32.load $0 offset=12 + local.get $1 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23582,12 +23555,12 @@ i32.const 4 i32.const 10752 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 local.get $1 + i32.store $0 offset=8 local.get $0 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23605,12 +23578,12 @@ i32.const 8 i32.const 10800 call $~lib/rt/__newArray - local.tee $1 + local.tee $0 i32.store $0 offset=276 i32.const 0 global.set $~argumentsLength i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23622,25 +23595,25 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of173 - block $0of174 - block $outOfRange75 + block $1of170 + block $0of171 + block $outOfRange72 global.get $~argumentsLength - br_table $0of174 $1of173 $outOfRange75 + br_table $0of171 $1of170 $outOfRange72 end unreachable end i32.const 10848 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 10848 i32.store $0 end - local.get $1 + local.get $0 i32.load $0 offset=4 - local.get $1 - i32.load $0 offset=12 local.get $0 + i32.load $0 offset=12 + local.get $1 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23651,12 +23624,12 @@ i32.const 8 i32.const 10880 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 local.get $1 + i32.store $0 offset=8 local.get $0 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -23673,7 +23646,7 @@ i32.const 4 i32.const 10928 call $~lib/rt/__newArray - local.tee $1 + local.tee $0 i32.store $0 offset=280 global.get $~lib/memory/__stack_pointer i32.const 1 @@ -23681,7 +23654,7 @@ i32.const 4 i32.const 10960 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store $0 offset=284 global.get $~lib/memory/__stack_pointer i32.const 2 @@ -23689,7 +23662,7 @@ i32.const 4 i32.const 10992 call $~lib/rt/__newArray - local.tee $6 + local.tee $2 i32.store $0 offset=288 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23697,7 +23670,7 @@ i32.const 4 i32.const 11024 call $~lib/rt/__newArray - local.tee $7 + local.tee $6 i32.store $0 offset=292 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23725,28 +23698,28 @@ global.get $~lib/memory/__stack_pointer i32.const 10000 call $std/array/createReverseOrderedArray - local.tee $0 + local.tee $12 i32.store $0 offset=312 global.get $~lib/memory/__stack_pointer i32.const 512 call $std/array/createRandomOrderedArray - local.tee $12 + local.tee $13 i32.store $0 offset=316 - local.get $1 + local.get $0 call $std/array/assertSortedDefault - local.get $2 + local.get $1 call $std/array/assertSortedDefault i32.const 1 i32.const 2 i32.const 4 i32.const 11152 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=8 - local.get $2 local.get $1 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23758,19 +23731,19 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $2 call $std/array/assertSortedDefault i32.const 2 i32.const 2 i32.const 4 i32.const 11184 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=8 - local.get $6 - local.get $1 + local.get $2 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23782,9 +23755,9 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $6 call $std/array/assertSortedDefault - local.get $7 + local.get $6 local.get $8 i32.const 0 call $std/array/isArraysEqual @@ -23842,9 +23815,9 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $12 call $std/array/assertSortedDefault - local.get $0 + local.get $12 local.get $8 i32.const 4 call $std/array/isArraysEqual @@ -23857,7 +23830,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $13 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer i32.const 24 @@ -23868,17 +23841,17 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i32.const 0 i32.const 24 memory.fill $0 - local.get $2 + local.get $0 global.get $std/array/inputStabArr local.tee $1 i32.store $0 offset=8 i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -23887,77 +23860,76 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $6 i32.const 0 i32.store $0 + i32.const 0 + local.set $2 + local.get $6 local.get $1 i32.load $0 offset=12 local.tee $6 + local.get $6 i32.const 0 local.get $6 i32.const 0 i32.le_s select - local.set $7 - local.get $0 - local.get $6 - local.get $7 + local.tee $6 i32.sub - local.tee $0 + local.tee $8 i32.const 0 - local.get $0 + local.get $8 i32.const 0 i32.gt_s select - local.tee $6 + local.tee $8 i32.const 2 i32.const 23 i32.const 0 call $~lib/rt/__newArray - local.tee $0 + local.tee $9 i32.store $0 - local.get $0 + local.get $9 i32.load $0 offset=4 - local.set $8 + local.set $10 local.get $1 i32.load $0 offset=4 - local.get $7 + local.get $6 i32.const 2 i32.shl i32.add - local.set $7 - i32.const 0 local.set $1 - local.get $6 + local.get $8 i32.const 2 i32.shl local.set $6 - loop $while-continue|01 - local.get $1 + loop $while-continue|014 + local.get $2 local.get $6 i32.lt_u if - local.get $1 - local.get $8 + local.get $2 + local.get $10 i32.add local.get $1 - local.get $7 + local.get $2 i32.add i32.load $0 - local.tee $9 + local.tee $8 i32.store $0 - local.get $9 + local.get $8 if - local.get $0 local.get $9 + local.get $8 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 + local.get $2 i32.const 4 i32.add - local.set $1 - br $while-continue|01 + local.set $2 + br $while-continue|014 end end global.get $~lib/memory/__stack_pointer @@ -23965,43 +23937,42 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $9 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 11216 i32.store $0 offset=4 - local.get $0 + local.get $9 i32.load $0 offset=4 - local.get $0 + local.get $9 i32.load $0 offset=12 i32.const 11216 call $~lib/util/sort/SORT - local.get $2 local.get $0 - local.tee $1 + local.get $9 i32.store $0 offset=12 i32.const 1 - local.set $0 + local.set $1 i32.const 0 local.set $2 global.get $~lib/memory/__stack_pointer global.get $std/array/inputStabArr - local.tee $6 + local.tee $0 i32.store $0 - local.get $6 + local.get $0 i32.load $0 offset=12 - local.set $6 + local.set $0 loop $for-loop|03 + local.get $0 local.get $2 - local.get $6 - i32.lt_s + i32.gt_s if block $for-break0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $9 local.get $2 call $~lib/array/Array#__get - local.tee $7 + local.tee $6 i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer global.get $std/array/outputStabArr @@ -24013,7 +23984,7 @@ call $~lib/array/Array#__get local.tee $8 i32.store $0 offset=20 - local.get $7 + local.get $6 i32.load $0 local.get $8 i32.load $0 @@ -24021,7 +23992,7 @@ if (result i32) i32.const 1 else - local.get $7 + local.get $6 i32.load $0 offset=4 local.get $8 i32.load $0 offset=4 @@ -24029,7 +24000,7 @@ end if i32.const 0 - local.set $0 + local.set $1 br $for-break0 end local.get $2 @@ -24040,7 +24011,7 @@ end end end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -24089,7 +24060,7 @@ i32.const 11344 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -24099,10 +24070,10 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -24161,13 +24132,13 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 local.get $2 i32.store $0 i32.const 0 - local.set $1 - loop $for-loop|076 - local.get $1 + local.set $0 + loop $for-loop|073 + local.get $0 i32.const 2 i32.lt_s if @@ -24179,25 +24150,25 @@ local.get $6 i32.const 0 i32.const 1 - local.get $1 + local.get $0 i32.sub call $~lib/array/Array#__set local.get $2 - local.get $1 + local.get $0 local.get $6 call $~lib/array/Array<~lib/array/Array>#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|076 + local.set $0 + br $for-loop|073 end end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=328 global.get $~lib/memory/__stack_pointer @@ -24207,9 +24178,9 @@ i32.const 11376 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 0 local.set $1 + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -24256,20 +24227,20 @@ i32.const 2048 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $8 i32.store $0 offset=4 local.get $6 - local.get $7 + local.get $8 i32.store $0 - local.get $7 + local.get $8 if local.get $6 - local.get $7 + local.get $8 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $6 - local.get $7 + local.get $8 i32.store $0 offset=4 local.get $6 i32.const 2048 @@ -24284,8 +24255,8 @@ local.get $2 local.get $6 i32.store $0 - loop $for-loop|06 - local.get $1 + loop $for-loop|016 + local.get $0 i32.const 512 i32.lt_s if @@ -24309,7 +24280,7 @@ i32.store $0 local.get $2 i32.const 511 - local.get $1 + local.get $0 i32.sub i32.store $0 global.get $~lib/memory/__stack_pointer @@ -24320,21 +24291,21 @@ local.get $2 i32.store $0 offset=4 local.get $6 - local.get $1 + local.get $0 local.get $2 call $~lib/array/Array<~lib/array/Array>#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|06 + local.set $0 + br $for-loop|016 end end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $6 i32.store $0 offset=332 global.get $~lib/memory/__stack_pointer @@ -24349,7 +24320,7 @@ i32.const 34 i32.const 11600 call $~lib/rt/__newArray - local.tee $0 + local.tee $1 i32.store $0 offset=336 global.get $~lib/memory/__stack_pointer i32.const 7 @@ -24357,12 +24328,12 @@ i32.const 34 i32.const 11648 call $~lib/rt/__newArray - local.tee $6 + local.tee $2 i32.store $0 offset=340 i32.const 1 global.set $~argumentsLength i32.const 0 - local.set $2 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24374,18 +24345,18 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of18 - block $0of19 - block $outOfRange10 + block $1of11 + block $0of12 + block $outOfRange3 global.get $~argumentsLength i32.const 1 i32.sub - br_table $0of19 $1of18 $outOfRange10 + br_table $0of12 $1of11 $outOfRange3 end unreachable end i32.const 11696 - local.set $2 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 11696 i32.store $0 @@ -24402,14 +24373,14 @@ i32.const 0 i32.store $0 block $__inlined_func$std/array/isSorted<~lib/string/String|null> (result i32) - local.get $0 + local.get $1 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.load $0 offset=12 - local.get $2 + local.get $6 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -24423,36 +24394,36 @@ i64.const 0 i64.store $0 i32.const 1 - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=12 - local.set $7 - loop $for-loop|012 - local.get $1 - local.get $7 + local.set $8 + loop $for-loop|05 + local.get $0 + local.get $8 i32.lt_s if - local.get $0 local.get $1 + local.get $0 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 $0 - local.get $0 local.get $1 + local.get $0 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 $0 offset=4 i32.const 2 global.set $~argumentsLength - local.get $8 local.get $9 - local.get $2 + local.get $10 + local.get $6 i32.load $0 call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 @@ -24465,11 +24436,11 @@ i32.const 0 br $__inlined_func$std/array/isSorted<~lib/string/String|null> end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|012 + local.set $0 + br $for-loop|05 end end global.get $~lib/memory/__stack_pointer @@ -24507,10 +24478,10 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.load $0 offset=12 - local.tee $2 - local.get $6 + local.tee $6 + local.get $2 i32.load $0 offset=12 i32.ne if @@ -24521,8 +24492,8 @@ i32.const 0 br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> end - local.get $0 - local.get $6 + local.get $1 + local.get $2 i32.eq if global.get $~lib/memory/__stack_pointer @@ -24533,28 +24504,28 @@ br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> end i32.const 0 - local.set $1 - loop $for-loop|011 - local.get $1 - local.get $2 + local.set $0 + loop $for-loop|08 + local.get $0 + local.get $6 i32.lt_s if - local.get $0 local.get $1 + local.get $0 call $~lib/array/Array#__get - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store $0 - local.get $6 - local.get $1 + local.get $2 + local.get $0 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 $0 offset=4 - local.get $7 local.get $8 + local.get $9 call $~lib/string/String.__eq i32.eqz if @@ -24565,11 +24536,11 @@ i32.const 0 br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|011 + local.set $0 + br $for-loop|08 end end global.get $~lib/memory/__stack_pointer @@ -24589,12 +24560,12 @@ end global.get $~lib/memory/__stack_pointer call $std/array/createRandomStringArray - local.tee $1 + local.tee $0 i32.store $0 offset=344 i32.const 1 global.set $~argumentsLength i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24606,24 +24577,24 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1520 - block $0of1521 - block $outOfRange522 + block $1of1477 + block $0of1478 + block $outOfRange479 global.get $~argumentsLength i32.const 1 i32.sub - br_table $0of1521 $1of1520 $outOfRange522 + br_table $0of1478 $1of1477 $outOfRange479 end unreachable end i32.const 11728 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 11728 i32.store $0 end - local.get $1 local.get $0 + local.get $1 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24634,21 +24605,21 @@ i32.const 37 i32.const 11760 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 offset=348 global.get $~lib/memory/__stack_pointer i32.const 11856 i32.store $0 offset=352 i32.const 0 - local.set $2 - local.get $0 + local.set $0 + local.get $1 i32.load $0 offset=4 - local.set $6 - local.get $0 + local.set $2 + local.get $1 i32.load $0 offset=12 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24661,10 +24632,10 @@ i32.const 0 i32.store $0 block $__inlined_func$~lib/util/string/joinBooleanArray - local.get $0 + local.get $1 i32.const 1 i32.sub - local.tee $7 + local.tee $6 i32.const 0 i32.lt_s if @@ -24673,18 +24644,18 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $0 + local.set $1 br $__inlined_func$~lib/util/string/joinBooleanArray end - local.get $7 + local.get $6 i32.eqz if i32.const 11792 i32.const 11824 - local.get $6 + local.get $2 i32.load8_u $0 select - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -24699,7 +24670,7 @@ local.tee $8 i32.const 5 i32.add - local.get $7 + local.get $6 i32.mul i32.const 5 i32.add @@ -24710,15 +24681,13 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|117 - local.get $2 + local.get $6 local.get $7 - i32.lt_s + i32.gt_s if local.get $2 - local.get $6 + local.get $7 i32.add i32.load8_u $0 local.tee $10 @@ -24760,15 +24729,15 @@ i32.add local.set $0 end - local.get $2 + local.get $7 i32.const 1 i32.add - local.set $2 + local.set $7 br $for-loop|117 end end + local.get $2 local.get $6 - local.get $7 i32.add i32.load8_u $0 local.tee $2 @@ -24799,7 +24768,7 @@ local.get $1 local.get $0 call $~lib/string/String#substring - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -24810,17 +24779,15 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 + local.tee $0 local.get $1 + i32.store $0 + local.get $0 i32.const 11888 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 11888 call $~lib/string/String.__eq i32.eqz @@ -25294,12 +25261,12 @@ i32.const 11 i32.const 14256 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=348 + local.tee $0 local.get $1 + i32.store $0 offset=348 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -25308,21 +25275,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 0 i32.store $0 - local.get $1 + local.get $2 i32.const 11856 i32.store $0 i32.const 0 - local.set $2 - local.get $0 - i32.load $0 offset=4 - local.set $6 - local.get $0 - i32.load $0 offset=12 local.set $0 + i32.const 0 + local.set $6 + local.get $1 + i32.load $0 offset=4 + local.set $7 local.get $1 + i32.load $0 offset=12 + local.set $1 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -25334,10 +25303,10 @@ i32.const 0 i32.store $0 block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 + local.get $1 i32.const 1 i32.sub - local.tee $7 + local.tee $2 i32.const 0 i32.lt_s if @@ -25346,16 +25315,16 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $0 + local.set $1 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $7 + local.get $2 i32.eqz if - local.get $6 + local.get $7 i32.load16_u $0 call $~lib/util/number/utoa32 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -25370,7 +25339,7 @@ local.tee $8 i32.const 10 i32.add - local.get $7 + local.get $2 i32.mul i32.const 10 i32.add @@ -25381,20 +25350,18 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|019 + loop $for-loop|020 local.get $2 - local.get $7 - i32.lt_s + local.get $6 + i32.gt_s if local.get $1 local.get $0 i32.const 1 i32.shl i32.add + local.get $7 local.get $6 - local.get $2 i32.const 1 i32.shl i32.add @@ -25420,11 +25387,11 @@ i32.add local.set $0 end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 - br $for-loop|019 + local.set $6 + br $for-loop|020 end end local.get $1 @@ -25432,8 +25399,8 @@ i32.const 1 i32.shl i32.add - local.get $6 local.get $7 + local.get $2 i32.const 1 i32.shl i32.add @@ -25448,7 +25415,7 @@ local.get $1 local.get $0 call $~lib/string/String#substring - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -25459,20 +25426,18 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end 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 $0 global.get $~lib/memory/__stack_pointer i32.const 14288 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 14288 call $~lib/string/String.__eq i32.eqz @@ -25489,12 +25454,12 @@ i32.const 39 i32.const 14336 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=348 + local.tee $0 local.get $1 + i32.store $0 offset=348 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -25503,21 +25468,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 0 i32.store $0 - local.get $1 + local.get $2 i32.const 11856 i32.store $0 i32.const 0 - local.set $2 - local.get $0 - i32.load $0 offset=4 - local.set $6 - local.get $0 - i32.load $0 offset=12 local.set $0 + i32.const 0 + local.set $6 local.get $1 + i32.load $0 offset=4 + local.set $7 + local.get $1 + i32.load $0 offset=12 + local.set $1 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -25529,10 +25496,10 @@ i32.const 0 i32.store $0 block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 + local.get $1 i32.const 1 i32.sub - local.tee $7 + local.tee $2 i32.const 0 i32.lt_s if @@ -25541,16 +25508,16 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $0 + local.set $1 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $7 + local.get $2 i32.eqz if - local.get $6 + local.get $7 i32.load16_s $0 call $~lib/util/number/itoa32 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -25565,7 +25532,7 @@ local.tee $8 i32.const 11 i32.add - local.get $7 + local.get $2 i32.mul i32.const 11 i32.add @@ -25576,20 +25543,18 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|021 local.get $2 - local.get $7 - i32.lt_s + local.get $6 + i32.gt_s if local.get $1 local.get $0 i32.const 1 i32.shl i32.add + local.get $7 local.get $6 - local.get $2 i32.const 1 i32.shl i32.add @@ -25615,10 +25580,10 @@ i32.add local.set $0 end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|021 end end @@ -25627,8 +25592,8 @@ i32.const 1 i32.shl i32.add - local.get $6 local.get $7 + local.get $2 i32.const 1 i32.shl i32.add @@ -25643,7 +25608,7 @@ local.get $1 local.get $0 call $~lib/string/String#substring - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -25654,20 +25619,18 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end 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 $0 global.get $~lib/memory/__stack_pointer i32.const 14368 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 14368 call $~lib/string/String.__eq i32.eqz @@ -25764,12 +25727,12 @@ i32.const 41 i32.const 14640 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=348 + local.tee $0 local.get $1 + i32.store $0 offset=348 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -25778,21 +25741,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 0 i32.store $0 - local.get $1 + local.get $2 i32.const 11856 i32.store $0 i32.const 0 - local.set $2 - local.get $0 - i32.load $0 offset=4 - local.set $6 - local.get $0 - i32.load $0 offset=12 local.set $0 + i32.const 0 + local.set $6 + local.get $1 + i32.load $0 offset=4 + local.set $7 local.get $1 + i32.load $0 offset=12 + local.set $1 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -25804,10 +25769,10 @@ i32.const 0 i32.store $0 block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 + local.get $1 i32.const 1 i32.sub - local.tee $7 + local.tee $2 i32.const 0 i32.lt_s if @@ -25816,14 +25781,14 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $0 + local.set $1 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $7 + local.get $2 i32.eqz if block $__inlined_func$~lib/util/number/itoa64 (result i32) - local.get $6 + local.get $7 i64.load $0 i64.extend32_s local.set $3 @@ -25858,7 +25823,7 @@ i32.wrap_i64 i32.const 1 i32.shl - local.tee $0 + local.tee $1 select local.tee $3 i64.const 4294967295 @@ -25916,11 +25881,11 @@ local.tee $6 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 local.get $0 local.get $1 @@ -25983,11 +25948,11 @@ 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 $1 + local.tee $0 i32.store $0 local.get $0 local.get $1 @@ -25996,9 +25961,9 @@ local.get $2 call $~lib/util/number/utoa64_dec_lut end - local.get $0 + local.get $1 if - local.get $1 + local.get $0 i32.const 45 i32.store16 $0 end @@ -26006,9 +25971,9 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 end - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -26023,7 +25988,7 @@ local.tee $8 i32.const 21 i32.add - local.get $7 + local.get $2 i32.mul i32.const 21 i32.add @@ -26034,20 +25999,18 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|022 local.get $2 - local.get $7 - i32.lt_s + local.get $6 + i32.gt_s if local.get $1 local.get $0 i32.const 1 i32.shl i32.add + local.get $7 local.get $6 - local.get $2 i32.const 3 i32.shl i32.add @@ -26073,10 +26036,10 @@ i32.add local.set $0 end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|022 end end @@ -26085,8 +26048,8 @@ i32.const 1 i32.shl i32.add - local.get $6 local.get $7 + local.get $2 i32.const 3 i32.shl i32.add @@ -26101,7 +26064,7 @@ local.get $1 local.get $0 call $~lib/string/String#substring - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -26112,20 +26075,18 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end 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 $0 global.get $~lib/memory/__stack_pointer i32.const 14704 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 14704 call $~lib/string/String.__eq i32.eqz @@ -26244,10 +26205,10 @@ i32.const 11856 i32.store $0 i32.const 0 - local.set $2 + local.set $6 local.get $1 i32.load $0 offset=4 - local.set $6 + local.set $2 local.get $1 i32.load $0 offset=12 local.set $1 @@ -26270,7 +26231,7 @@ local.get $1 i32.const 1 i32.sub - local.tee $1 + local.tee $0 i32.const 0 i32.lt_s if @@ -26279,14 +26240,14 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $0 + local.set $1 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end - local.get $1 + local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.load $0 local.tee $0 i32.store $0 @@ -26297,7 +26258,7 @@ else i32.const 11568 end - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -26305,7 +26266,7 @@ br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end i32.const 11568 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 11568 i32.store $0 offset=4 @@ -26315,13 +26276,13 @@ i32.shr_u local.set $7 loop $for-loop|023 - local.get $1 - local.get $2 + local.get $0 + local.get $6 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $6 local.get $2 + local.get $6 i32.const 2 i32.shl i32.add @@ -26339,52 +26300,52 @@ local.get $8 i32.store $0 offset=8 local.get $9 - local.get $0 + local.get $1 local.get $8 call $~lib/string/String.__concat - local.tee $0 + local.tee $1 i32.store $0 offset=4 end local.get $7 if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 11856 call $~lib/string/String.__concat - local.tee $0 + local.tee $1 i32.store $0 offset=4 end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|023 end end global.get $~lib/memory/__stack_pointer - local.get $6 - local.get $1 + local.get $2 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $1 + local.tee $0 i32.store $0 - local.get $1 + local.get $0 if global.get $~lib/memory/__stack_pointer local.set $2 - local.get $1 + local.get $0 call $~lib/array/Array#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=8 local.get $2 - local.get $0 local.get $1 + local.get $0 call $~lib/string/String.__concat - local.tee $0 + local.tee $1 i32.store $0 offset=4 end global.get $~lib/memory/__stack_pointer @@ -26397,12 +26358,12 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 15168 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 15168 call $~lib/string/String.__eq i32.eqz @@ -26462,10 +26423,10 @@ i32.const 11856 i32.store $0 i32.const 0 - local.set $2 + local.set $6 local.get $1 i32.load $0 offset=4 - local.set $6 + local.set $2 local.get $1 i32.load $0 offset=12 local.set $1 @@ -26488,7 +26449,7 @@ local.get $1 i32.const 1 i32.sub - local.tee $1 + local.tee $0 i32.const 0 i32.lt_s if @@ -26497,14 +26458,14 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $0 + local.set $1 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end - local.get $1 + local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.load $0 local.tee $0 i32.store $0 @@ -26515,7 +26476,7 @@ else i32.const 11568 end - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -26523,7 +26484,7 @@ br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> end i32.const 11568 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 11568 i32.store $0 offset=4 @@ -26533,13 +26494,13 @@ i32.shr_u local.set $7 loop $for-loop|024 - local.get $1 - local.get $2 + local.get $0 + local.get $6 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $6 local.get $2 + local.get $6 i32.const 2 i32.shl i32.add @@ -26557,52 +26518,52 @@ local.get $8 i32.store $0 offset=8 local.get $9 - local.get $0 + local.get $1 local.get $8 call $~lib/string/String.__concat - local.tee $0 + local.tee $1 i32.store $0 offset=4 end local.get $7 if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 11856 call $~lib/string/String.__concat - local.tee $0 + local.tee $1 i32.store $0 offset=4 end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|024 end end global.get $~lib/memory/__stack_pointer - local.get $6 - local.get $1 + local.get $2 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $1 + local.tee $0 i32.store $0 - local.get $1 + local.get $0 if global.get $~lib/memory/__stack_pointer local.set $2 - local.get $1 + local.get $0 call $~lib/array/Array#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=8 local.get $2 - local.get $0 local.get $1 + local.get $0 call $~lib/string/String.__concat - local.tee $0 + local.tee $1 i32.store $0 offset=4 end global.get $~lib/memory/__stack_pointer @@ -26615,12 +26576,12 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 15168 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 15168 call $~lib/string/String.__eq i32.eqz @@ -26688,10 +26649,10 @@ i32.const 11856 i32.store $0 i32.const 0 - local.set $2 + local.set $6 local.get $1 i32.load $0 offset=4 - local.set $6 + local.set $2 local.get $1 i32.load $0 offset=12 local.set $1 @@ -26714,7 +26675,7 @@ local.get $1 i32.const 1 i32.sub - local.tee $1 + local.tee $0 i32.const 0 i32.lt_s if @@ -26723,14 +26684,14 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $0 + local.set $1 br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> end - local.get $1 + local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.load $0 local.tee $0 i32.store $0 @@ -26741,7 +26702,7 @@ else i32.const 11568 end - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -26749,7 +26710,7 @@ br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> end i32.const 11568 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 11568 i32.store $0 offset=4 @@ -26759,13 +26720,13 @@ i32.shr_u local.set $7 loop $for-loop|025 - local.get $1 - local.get $2 + local.get $0 + local.get $6 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $6 local.get $2 + local.get $6 i32.const 2 i32.shl i32.add @@ -26783,52 +26744,52 @@ local.get $8 i32.store $0 offset=8 local.get $9 - local.get $0 + local.get $1 local.get $8 call $~lib/string/String.__concat - local.tee $0 + local.tee $1 i32.store $0 offset=4 end local.get $7 if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 11856 call $~lib/string/String.__concat - local.tee $0 + local.tee $1 i32.store $0 offset=4 end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 + local.set $6 br $for-loop|025 end end global.get $~lib/memory/__stack_pointer - local.get $6 - local.get $1 + local.get $2 + local.get $0 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $1 + local.tee $0 i32.store $0 - local.get $1 + local.get $0 if global.get $~lib/memory/__stack_pointer local.set $2 - local.get $1 + local.get $0 call $~lib/array/Array<~lib/array/Array>#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=8 local.get $2 - local.get $0 local.get $1 + local.get $0 call $~lib/string/String.__concat - local.tee $0 + local.tee $1 i32.store $0 offset=4 end global.get $~lib/memory/__stack_pointer @@ -26841,12 +26802,12 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 13568 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 13568 call $~lib/string/String.__eq i32.eqz @@ -26909,9 +26870,9 @@ global.get $~lib/memory/__stack_pointer local.get $1 call $~lib/array/Array<~lib/array/Array>#flat - local.tee $1 + local.tee $0 i32.store $0 offset=456 - local.get $1 + local.get $0 i32.load $0 offset=12 i32.const 10 i32.ne @@ -26924,16 +26885,16 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|7 - local.get $0 + local.get $1 i32.const 10 i32.lt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/array/Array#__get - local.get $0 + local.get $1 i32.ne if i32.const 0 @@ -26943,10 +26904,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|7 end end @@ -26999,7 +26960,7 @@ local.get $1 i32.store $0 offset=468 global.get $~lib/memory/__stack_pointer - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -27013,149 +26974,149 @@ i64.store $0 local.get $1 i32.load $0 offset=4 - local.set $7 + local.set $8 local.get $1 i32.load $0 offset=12 - local.set $8 + local.set $9 i32.const 0 - local.set $2 + local.set $0 i32.const 0 local.set $1 - loop $for-loop|078 + loop $for-loop|074 local.get $1 - local.get $8 + local.get $9 i32.lt_s if - local.get $7 + local.get $8 local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $0 + local.tee $2 if (result i32) - local.get $0 + local.get $2 i32.load $0 offset=12 else i32.const 0 end - local.get $2 + local.get $0 i32.add - local.set $2 + local.set $0 local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|078 + br $for-loop|074 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 2 i32.shl - local.tee $0 + local.tee $1 i32.const 1 call $~lib/rt/itcms/__new - local.tee $9 + local.tee $10 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 34 call $~lib/rt/itcms/__new - local.tee $10 + local.tee $11 i32.store $0 offset=4 - local.get $10 - local.get $2 - i32.store $0 offset=12 - local.get $10 + local.get $11 local.get $0 + i32.store $0 offset=12 + local.get $11 + local.get $1 i32.store $0 offset=8 + local.get $11 local.get $10 - local.get $9 i32.store $0 offset=4 + local.get $11 local.get $10 - local.get $9 i32.store $0 - local.get $9 + local.get $10 if + local.get $11 local.get $10 - local.get $9 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end i32.const 0 - local.set $1 + local.set $2 i32.const 0 - local.set $0 - loop $for-loop|180 - local.get $0 - local.get $8 + local.set $6 + loop $for-loop|175 + local.get $6 + local.get $9 i32.lt_s if - local.get $7 - local.get $0 + local.get $8 + local.get $6 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $11 + local.tee $1 if - local.get $1 - local.get $9 + local.get $2 + local.get $10 i32.add - local.get $11 + local.get $1 i32.load $0 offset=4 - local.get $11 + local.get $1 i32.load $0 offset=12 i32.const 2 i32.shl - local.tee $11 + local.tee $1 memory.copy $0 $0 local.get $1 - local.get $11 + local.get $2 i32.add - local.set $1 + local.set $2 end - local.get $0 + local.get $6 i32.const 1 i32.add - local.set $0 - br $for-loop|180 + local.set $6 + br $for-loop|175 end end i32.const 0 - local.set $0 - loop $for-loop|282 + local.set $1 + loop $for-loop|276 local.get $0 - local.get $2 - i32.lt_s + local.get $1 + i32.gt_s if - local.get $9 - local.get $0 + local.get $10 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $1 + local.tee $2 if - local.get $9 - local.get $1 + local.get $10 + local.get $2 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|282 + local.set $1 + br $for-loop|276 end end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - local.get $10 + local.get $7 + local.get $11 i32.store $0 offset=472 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -27163,9 +27124,9 @@ i32.const 34 i32.const 15792 call $~lib/rt/__newArray - local.tee $0 + local.tee $1 i32.store $0 offset=476 - local.get $10 + local.get $11 i32.load $0 offset=12 i32.const 8 i32.ne @@ -27178,22 +27139,22 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|8 - local.get $1 local.get $0 + local.get $1 i32.load $0 offset=12 i32.lt_s if - local.get $10 - local.get $1 + local.get $11 + local.get $0 call $~lib/array/Array#__get local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 - local.get $0 local.get $1 + local.get $0 call $~lib/array/Array#__get local.set $6 global.get $~lib/memory/__stack_pointer @@ -27211,10 +27172,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|8 end end @@ -27273,13 +27234,13 @@ i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store $0 offset=492 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.load $0 offset=4 i32.store $0 offset=496 - local.get $2 + local.get $1 i32.const 0 i32.const 1 i32.const 2 @@ -27287,7 +27248,7 @@ i32.const 15920 call $~lib/rt/__newArray call $~lib/array/Array#__uset - local.get $2 + local.get $1 i32.const 1 i32.const 1 i32.const 2 @@ -27296,10 +27257,10 @@ call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $0 - local.get $2 + local.get $1 i32.store $0 offset=500 global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 15984 i32.store $0 offset=348 @@ -27312,14 +27273,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=8 + local.get $0 local.get $1 - local.get $2 i32.load $0 offset=12 local.tee $6 i32.const 2 @@ -27332,11 +27293,11 @@ i32.load $0 offset=4 local.set $8 i32.const 0 - local.set $1 - loop $for-loop|0544 - local.get $1 + local.set $0 + loop $for-loop|0501 + local.get $0 local.get $6 - local.get $2 + local.get $1 i32.load $0 offset=12 local.tee $9 local.get $6 @@ -27347,11 +27308,11 @@ if global.get $~lib/memory/__stack_pointer local.tee $9 - local.get $1 + local.get $0 i32.const 2 i32.shl local.tee $10 - local.get $2 + local.get $1 i32.load $0 offset=4 i32.add i32.load $0 @@ -27361,8 +27322,8 @@ global.set $~argumentsLength local.get $9 local.get $11 + local.get $0 local.get $1 - local.get $2 i32.const 15984 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) @@ -27380,11 +27341,11 @@ i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0544 + local.set $0 + br $for-loop|0501 end end global.get $~lib/memory/__stack_pointer @@ -27394,7 +27355,7 @@ global.get $~lib/memory/__stack_pointer local.get $7 i32.store $0 - local.get $0 + local.get $2 local.get $7 call $~lib/array/Array<~lib/array/Array>#flat local.tee $0 @@ -27475,12 +27436,12 @@ i32.const 0 i32.gt_s if - loop $while-continue|0550 + loop $while-continue|0506 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|0550 + br $while-continue|0506 end end end @@ -28990,45 +28951,43 @@ i64.store $0 local.get $0 i32.load $0 offset=4 - local.set $3 + local.set $4 local.get $0 i32.load $0 offset=12 - local.set $4 - i32.const 0 - local.set $0 + local.set $5 loop $for-loop|0 - local.get $0 - local.get $4 + local.get $2 + local.get $5 i32.lt_s if - local.get $3 - local.get $0 + local.get $4 + local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $5 + local.tee $0 if (result i32) - local.get $5 + local.get $0 i32.load $0 offset=12 else i32.const 0 end - local.get $2 + local.get $1 i32.add - local.set $2 - local.get $0 + local.set $1 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 2 i32.shl - local.tee $5 + local.tee $2 i32.const 1 call $~lib/rt/itcms/__new local.tee $6 @@ -29040,10 +28999,10 @@ local.tee $0 i32.store $0 offset=4 local.get $0 - local.get $2 + local.get $1 i32.store $0 offset=12 local.get $0 - local.get $5 + local.get $2 i32.store $0 offset=8 local.get $0 local.get $6 @@ -29059,40 +29018,40 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end i32.const 0 - local.set $2 + local.set $1 loop $for-loop|1 - local.get $2 - local.get $4 + local.get $3 + local.get $5 i32.lt_s if + local.get $4 local.get $3 - local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $5 + local.tee $2 if local.get $1 local.get $6 i32.add - local.get $5 + local.get $2 i32.load $0 offset=4 - local.get $5 + local.get $2 i32.load $0 offset=12 i32.const 2 i32.shl - local.tee $5 + local.tee $2 memory.copy $0 $0 local.get $1 - local.get $5 + local.get $2 i32.add local.set $1 end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|1 end end diff --git a/tests/compiler/std/arraybuffer.debug.wat b/tests/compiler/std/arraybuffer.debug.wat index fe17ff3639..663fc3a926 100644 --- a/tests/compiler/std/arraybuffer.debug.wat +++ b/tests/compiler/std/arraybuffer.debug.wat @@ -67,6 +67,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -79,12 +80,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -242,6 +245,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -261,6 +265,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -378,6 +383,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -553,22 +559,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -593,16 +602,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -698,18 +710,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -733,18 +748,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -754,12 +772,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -907,22 +928,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -967,16 +991,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1031,10 +1058,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1150,6 +1180,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1332,6 +1363,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1566,6 +1598,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1644,6 +1677,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1659,6 +1693,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1749,16 +1784,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1791,16 +1829,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1814,46 +1855,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1890,10 +1938,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2013,30 +2064,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2107,6 +2164,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2119,6 +2177,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2181,6 +2240,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2191,6 +2251,7 @@ i32.const 20 i32.sub call $~lib/rt/common/OBJECT#get:rtSize + return ) (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array|null> (type $i32_=>_i32) (param $value i32) (result i32) i32.const 1 @@ -2227,6 +2288,7 @@ i32.const 0 drop i32.const 0 + return ) (func $~lib/arraybuffer/ArrayBuffer.isView (type $i32_=>_i32) (param $value i32) (result i32) i32.const 0 @@ -2256,6 +2318,7 @@ i32.const 0 drop i32.const 0 + return ) (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array|null> (type $i32_=>_i32) (param $value i32) (result i32) i32.const 1 @@ -2437,6 +2500,7 @@ memory.copy $0 $0 end local.get $buffer + return ) (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> (type $i32_=>_i32) (param $value i32) (result i32) i32.const 0 @@ -2466,6 +2530,7 @@ i32.const 0 drop i32.const 0 + return ) (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (type $i32_=>_i32) (param $value i32) (result i32) i32.const 0 @@ -3295,6 +3360,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/arraybuffer/ArrayBuffer#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) (local $length i32) @@ -3402,6 +3468,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $16 + return ) (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) (local $buffer i32) @@ -3562,6 +3629,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $~lib/typedarray/Int32Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) diff --git a/tests/compiler/std/arraybuffer.release.wat b/tests/compiler/std/arraybuffer.release.wat index 4fbc6b480a..7bac5e4e8d 100644 --- a/tests/compiler/std/arraybuffer.release.wat +++ b/tests/compiler/std/arraybuffer.release.wat @@ -1511,6 +1511,61 @@ memory.fill $0 local.get $1 ) + (func $~lib/arraybuffer/ArrayBufferView#set:buffer (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store $0 + 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 $0 offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + i32.load $0 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/rt/__visit_members (type $i32_=>_none) (param $0 i32) block $folding-inner0 block $invalid @@ -1556,6 +1611,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -1851,14 +1908,14 @@ local.get $1 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $1 + local.tee $2 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $1 + local.get $2 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1875,27 +1932,71 @@ i32.const 8 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $3 i32.const 1632 i64.load $0 align=1 i64.store $0 align=1 local.get $0 - local.get $2 + local.get $3 i32.store $0 i32.const 16 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - local.get $2 + local.get $3 i32.store $0 - local.get $2 + local.get $3 if local.get $0 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + 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 $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=4 + i32.const 3 + i32.and + local.tee $4 + 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 $4 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end end local.get $0 - local.get $2 + local.get $3 i32.store $0 offset=4 local.get $0 i32.const 8 @@ -1942,7 +2043,7 @@ local.get $0 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.load $0 local.tee $0 i32.store $0 offset=16 @@ -1971,7 +2072,7 @@ i32.store $0 local.get $2 i32.const 0 - i32.store $0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $2 i32.const 0 i32.store $0 offset=4 @@ -1998,13 +2099,7 @@ end local.get $2 local.get $0 - i32.store $0 - local.get $0 - if - local.get $2 - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $2 local.get $0 i32.store $0 offset=4 @@ -2192,7 +2287,7 @@ end local.get $0 i32.const 0 - i32.store $0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $0 i32.const 0 i32.store $0 offset=4 @@ -2222,13 +2317,7 @@ i32.store $0 offset=4 local.get $0 local.get $1 - i32.store $0 - local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $0 local.get $1 i32.store $0 offset=4 @@ -2260,53 +2349,4 @@ global.set $~lib/rt/itcms/visitCount end ) - (func $byn-split-outlined-A$~lib/rt/itcms/__link (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - 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 $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load $0 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 - ) ) diff --git a/tests/compiler/std/dataview.debug.wat b/tests/compiler/std/dataview.debug.wat index 3e44564542..09d6ec4d43 100644 --- a/tests/compiler/std/dataview.debug.wat +++ b/tests/compiler/std/dataview.debug.wat @@ -73,6 +73,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -85,12 +86,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -248,6 +251,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -267,6 +271,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -384,6 +389,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -559,22 +565,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -599,16 +608,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -704,18 +716,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -739,18 +754,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -760,12 +778,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -913,22 +934,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -973,16 +997,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1037,10 +1064,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1156,6 +1186,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1338,6 +1369,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1572,6 +1604,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1650,6 +1683,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1665,6 +1699,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1755,16 +1790,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1797,16 +1835,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1820,46 +1861,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1896,10 +1944,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2019,30 +2070,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2113,6 +2170,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2125,6 +2183,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2187,6 +2246,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2312,6 +2372,7 @@ i32.const 20 i32.sub call $~lib/rt/common/OBJECT#get:rtSize + return ) (func $~lib/dataview/DataView#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -2342,6 +2403,7 @@ local.get $this call $~lib/arraybuffer/ArrayBufferView#get:buffer i32.sub + return ) (func $~lib/dataview/DataView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2397,6 +2459,7 @@ i32.or f32.reinterpret_i32 end + return ) (func $~lib/dataview/DataView#getFloat64 (type $i32_i32_i32_=>_f64) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result f64) (local $3 i64) @@ -2458,6 +2521,7 @@ i64.rotr f64.reinterpret_i64 end + return ) (func $~lib/dataview/DataView#getInt8 (type $i32_i32_=>_i32) (param $this i32) (param $byteOffset i32) (result i32) local.get $byteOffset @@ -2477,6 +2541,7 @@ local.get $byteOffset i32.add i32.load8_s $0 + return ) (func $~lib/dataview/DataView#getInt16 (type $i32_i32_i32_=>_i32) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i32) (local $result i32) @@ -2520,6 +2585,7 @@ i32.shr_u i32.or end + return ) (func $~lib/dataview/DataView#getInt32 (type $i32_i32_i32_=>_i32) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i32) (local $result i32) @@ -2565,6 +2631,7 @@ i32.rotr i32.or end + return ) (func $~lib/dataview/DataView#getInt64 (type $i32_i32_i32_=>_i64) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i64) (local $result i64) @@ -2624,6 +2691,7 @@ i64.const 32 i64.rotr end + return ) (func $~lib/dataview/DataView#getUint8 (type $i32_i32_=>_i32) (param $this i32) (param $byteOffset i32) (result i32) local.get $byteOffset @@ -2643,6 +2711,7 @@ local.get $byteOffset i32.add i32.load8_u $0 + return ) (func $~lib/dataview/DataView#getUint16 (type $i32_i32_i32_=>_i32) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i32) (local $result i32) @@ -2684,6 +2753,7 @@ i32.shr_u i32.or end + return ) (func $~lib/dataview/DataView#getUint32 (type $i32_i32_i32_=>_i32) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i32) (local $result i32) @@ -2729,6 +2799,7 @@ i32.rotr i32.or end + return ) (func $~lib/dataview/DataView#getUint64 (type $i32_i32_i32_=>_i64) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i64) (local $result i64) @@ -2788,6 +2859,7 @@ i64.const 32 i64.rotr end + return ) (func $~lib/dataview/DataView#setFloat32 (type $i32_i32_f32_i32_=>_none) (param $this i32) (param $byteOffset i32) (param $value f32) (param $littleEndian i32) (local $4 i32) @@ -3258,6 +3330,7 @@ local.get $this call $~lib/dataview/DataView#get:buffer i32.sub + return ) (func $~lib/rt/itcms/__collect (type $none_=>_none) i32.const 0 diff --git a/tests/compiler/std/date.debug.wat b/tests/compiler/std/date.debug.wat index bb9d2c0701..123038cca8 100644 --- a/tests/compiler/std/date.debug.wat +++ b/tests/compiler/std/date.debug.wat @@ -175,24 +175,27 @@ i32.le_s i32.sub local.set $y - local.get $y - local.set $a - i32.const 400 - local.set $b - local.get $a - local.get $a - i32.const 0 - i32.lt_s - if (result i32) - local.get $b - i32.const 1 - i32.sub - else + block $~lib/date/floorDiv|inlined.0 (result i32) + local.get $y + local.set $a + i32.const 400 + local.set $b + local.get $a + local.get $a i32.const 0 + i32.lt_s + if (result i32) + local.get $b + i32.const 1 + i32.sub + else + i32.const 0 + end + i32.sub + local.get $b + i32.div_s + br $~lib/date/floorDiv|inlined.0 end - i32.sub - local.get $b - i32.div_s local.set $era local.get $y local.get $era @@ -243,6 +246,7 @@ i32.const 719468 i32.sub i64.extend_i32_s + return ) (func $~lib/date/epochMillis (type $i32_i32_i32_i32_i32_i32_i32_=>_i64) (param $year i32) (param $month i32) (param $day i32) (param $hour i32) (param $minute i32) (param $second i32) (param $milliseconds i32) (result i64) local.get $year @@ -270,6 +274,7 @@ local.get $milliseconds i64.extend_i32_s i64.add + return ) (func $~lib/date/invalidDate (type $i64_=>_i32) (param $millis i64) (result i32) local.get $millis @@ -281,6 +286,7 @@ i64.const 8640000000000000 i64.gt_s i32.or + return ) (func $~lib/date/dateFromEpoch (type $i64_=>_i32) (param $ms i64) (result i32) (local $a i64) @@ -295,25 +301,28 @@ (local $n1 i32) (local $year i32) (local $mo i32) - local.get $ms - local.set $a - i32.const 86400000 - i64.extend_i32_s - local.set $b - local.get $a - local.get $a - i64.const 0 - i64.lt_s - if (result i64) - local.get $b - i64.const 1 - i64.sub - else + block $~lib/date/floorDiv|inlined.0 (result i64) + local.get $ms + local.set $a + i32.const 86400000 + i64.extend_i32_s + local.set $b + local.get $a + local.get $a i64.const 0 + i64.lt_s + if (result i64) + local.get $b + i64.const 1 + i64.sub + else + i64.const 0 + end + i64.sub + local.get $b + i64.div_s + br $~lib/date/floorDiv|inlined.0 end - i64.sub - local.get $b - i64.div_s i32.wrap_i64 i32.const 4 i32.mul @@ -324,24 +333,27 @@ i32.const 3 i32.or local.set $da - local.get $da - local.set $a|4 - i32.const 146097 - local.set $b|5 - local.get $a|4 - local.get $a|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $b|5 - i32.const 1 - i32.sub - else + block $~lib/date/floorDiv|inlined.1 (result i32) + local.get $da + local.set $a|4 + i32.const 146097 + local.set $b|5 + local.get $a|4 + local.get $a|4 i32.const 0 + i32.lt_s + if (result i32) + local.get $b|5 + i32.const 1 + i32.sub + else + i32.const 0 + end + i32.sub + local.get $b|5 + i32.div_s + br $~lib/date/floorDiv|inlined.1 end - i32.sub - local.get $b|5 - i32.div_s local.set $q0 local.get $da local.get $q0 @@ -404,6 +416,7 @@ local.get $mo global.set $~lib/date/_month local.get $year + return ) (func $~lib/date/Date#set:year (type $i32_i32_=>_none) (param $this i32) (param $year i32) local.get $this @@ -438,6 +451,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -450,12 +464,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -613,6 +629,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -632,6 +649,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -749,6 +767,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -924,22 +943,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -964,16 +986,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -1069,18 +1094,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1104,18 +1132,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1125,12 +1156,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1278,22 +1312,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1338,16 +1375,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1402,10 +1442,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1521,6 +1564,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1703,6 +1747,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1937,6 +1982,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -2015,6 +2061,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -2030,6 +2077,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -2120,16 +2168,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -2162,16 +2213,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -2185,46 +2239,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2261,10 +2322,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2384,30 +2448,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2478,6 +2548,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2490,6 +2561,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2552,6 +2624,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/date/Date#set:epochMillis (type $i32_i64_=>_none) (param $this i32) (param $epochMillis i64) local.get $this @@ -2587,6 +2660,7 @@ global.get $~lib/date/_day call $~lib/date/Date#set:day local.get $time + return ) (func $~lib/date/Date#get:year (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2604,111 +2678,127 @@ (local $a i64) (local $b i64) (local $m i64) - local.get $this - call $~lib/date/Date#get:epochMillis - local.set $a - i32.const 86400000 - i64.extend_i32_s - local.set $b - local.get $a - local.get $b - i64.rem_s - local.set $m - local.get $m - local.get $m - i64.const 0 - i64.lt_s - if (result i64) + block $~lib/date/euclidRem|inlined.0 (result i64) + local.get $this + call $~lib/date/Date#get:epochMillis + local.set $a + i32.const 86400000 + i64.extend_i32_s + local.set $b + local.get $a local.get $b - else + i64.rem_s + local.set $m + local.get $m + local.get $m i64.const 0 + i64.lt_s + if (result i64) + local.get $b + else + i64.const 0 + end + i64.add + br $~lib/date/euclidRem|inlined.0 end - i64.add i32.wrap_i64 i32.const 3600000 i32.div_s + return ) (func $~lib/date/Date#getUTCMinutes (type $i32_=>_i32) (param $this i32) (result i32) (local $a i64) (local $b i64) (local $m i64) - local.get $this - call $~lib/date/Date#get:epochMillis - local.set $a - i32.const 3600000 - i64.extend_i32_s - local.set $b - local.get $a - local.get $b - i64.rem_s - local.set $m - local.get $m - local.get $m - i64.const 0 - i64.lt_s - if (result i64) + block $~lib/date/euclidRem|inlined.1 (result i64) + local.get $this + call $~lib/date/Date#get:epochMillis + local.set $a + i32.const 3600000 + i64.extend_i32_s + local.set $b + local.get $a local.get $b - else + i64.rem_s + local.set $m + local.get $m + local.get $m i64.const 0 + i64.lt_s + if (result i64) + local.get $b + else + i64.const 0 + end + i64.add + br $~lib/date/euclidRem|inlined.1 end - i64.add i32.wrap_i64 i32.const 60000 i32.div_s + return ) (func $~lib/date/Date#getUTCSeconds (type $i32_=>_i32) (param $this i32) (result i32) (local $a i64) (local $b i64) (local $m i64) - local.get $this - call $~lib/date/Date#get:epochMillis - local.set $a - i32.const 60000 - i64.extend_i32_s - local.set $b - local.get $a - local.get $b - i64.rem_s - local.set $m - local.get $m - local.get $m - i64.const 0 - i64.lt_s - if (result i64) + block $~lib/date/euclidRem|inlined.2 (result i64) + local.get $this + call $~lib/date/Date#get:epochMillis + local.set $a + i32.const 60000 + i64.extend_i32_s + local.set $b + local.get $a local.get $b - else + i64.rem_s + local.set $m + local.get $m + local.get $m i64.const 0 + i64.lt_s + if (result i64) + local.get $b + else + i64.const 0 + end + i64.add + br $~lib/date/euclidRem|inlined.2 end - i64.add i32.wrap_i64 i32.const 1000 i32.div_s + return ) (func $~lib/date/Date#getUTCMilliseconds (type $i32_=>_i32) (param $this i32) (result i32) (local $a i64) (local $b i64) (local $m i64) - local.get $this - call $~lib/date/Date#get:epochMillis - local.set $a - i32.const 1000 - i64.extend_i32_s - local.set $b - local.get $a - local.get $b - i64.rem_s - local.set $m - local.get $m - local.get $m - i64.const 0 - i64.lt_s - if (result i64) + block $~lib/date/euclidRem|inlined.3 (result i64) + local.get $this + call $~lib/date/Date#get:epochMillis + local.set $a + i32.const 1000 + i64.extend_i32_s + local.set $b + local.get $a local.get $b - else + i64.rem_s + local.set $m + local.get $m + local.get $m i64.const 0 + i64.lt_s + if (result i64) + local.get $b + else + i64.const 0 + end + i64.add + br $~lib/date/euclidRem|inlined.3 end - i64.add i32.wrap_i64 + return ) (func $~lib/date/Date#setUTCMilliseconds (type $i32_i32_=>_none) (param $this i32) (param $millis i32) local.get $this @@ -2779,26 +2869,30 @@ i32.const 86400000 i64.extend_i32_s i64.mul - local.get $ms - local.set $a - i32.const 86400000 - i64.extend_i32_s - local.set $b - local.get $a - local.get $b - i64.rem_s - local.set $m - local.get $m - local.get $m - i64.const 0 - i64.lt_s - if (result i64) + block $~lib/date/euclidRem|inlined.4 (result i64) + local.get $ms + local.set $a + i32.const 86400000 + i64.extend_i32_s + local.set $b + local.get $a local.get $b - else + i64.rem_s + local.set $m + local.get $m + local.get $m i64.const 0 + i64.lt_s + if (result i64) + local.get $b + else + i64.const 0 + end + i64.add + br $~lib/date/euclidRem|inlined.4 end i64.add - i64.add + return ) (func $~lib/date/Date#setUTCDate (type $i32_i32_=>_none) (param $this i32) (param $day i32) local.get $this @@ -2900,61 +2994,70 @@ i32.sub local.set $year local.get $year - local.get $year - local.set $a - i32.const 4 - local.set $b - local.get $a - local.get $a - i32.const 0 - i32.lt_s - if (result i32) - local.get $b - i32.const 1 - i32.sub - else + block $~lib/date/floorDiv|inlined.2 (result i32) + local.get $year + local.set $a + i32.const 4 + local.set $b + local.get $a + local.get $a i32.const 0 - end - i32.sub - local.get $b - i32.div_s - local.get $year - local.set $a|5 - i32.const 100 - local.set $b|6 - local.get $a|5 - local.get $a|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $b|6 - i32.const 1 + i32.lt_s + if (result i32) + local.get $b + i32.const 1 + i32.sub + else + i32.const 0 + end i32.sub - else + local.get $b + i32.div_s + br $~lib/date/floorDiv|inlined.2 + end + block $~lib/date/floorDiv|inlined.3 (result i32) + local.get $year + local.set $a|5 + i32.const 100 + local.set $b|6 + local.get $a|5 + local.get $a|5 i32.const 0 + i32.lt_s + if (result i32) + local.get $b|6 + i32.const 1 + i32.sub + else + i32.const 0 + end + i32.sub + local.get $b|6 + i32.div_s + br $~lib/date/floorDiv|inlined.3 end i32.sub - local.get $b|6 - i32.div_s - i32.sub - local.get $year - local.set $a|7 - i32.const 400 - local.set $b|8 - local.get $a|7 - local.get $a|7 - i32.const 0 - i32.lt_s - if (result i32) - local.get $b|8 - i32.const 1 - i32.sub - else + block $~lib/date/floorDiv|inlined.4 (result i32) + local.get $year + local.set $a|7 + i32.const 400 + local.set $b|8 + local.get $a|7 + local.get $a|7 i32.const 0 + i32.lt_s + if (result i32) + local.get $b|8 + i32.const 1 + i32.sub + else + i32.const 0 + end + i32.sub + local.get $b|8 + i32.div_s + br $~lib/date/floorDiv|inlined.4 end - i32.sub - local.get $b|8 - i32.div_s i32.add i32.add local.set $year @@ -2965,28 +3068,32 @@ i32.sub i32.load8_u $0 local.set $month - local.get $year - local.get $month - i32.add - local.get $day - i32.add - local.set $a|9 - i32.const 7 - local.set $b|10 - local.get $a|9 - local.get $b|10 - i32.rem_s - local.set $m - local.get $m - local.get $m - i32.const 0 - i32.lt_s - if (result i32) + block $~lib/date/euclidRem|inlined.0 (result i32) + local.get $year + local.get $month + i32.add + local.get $day + i32.add + local.set $a|9 + i32.const 7 + local.set $b|10 + local.get $a|9 local.get $b|10 - else + i32.rem_s + local.set $m + local.get $m + local.get $m i32.const 0 + i32.lt_s + if (result i32) + local.get $b|10 + else + i32.const 0 + end + i32.add + br $~lib/date/euclidRem|inlined.0 end - i32.add + return ) (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) local.get $value @@ -3235,12 +3342,15 @@ (local $b64 i64) (local $b i64) (local $e i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -3302,6 +3412,7 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) @@ -3398,6 +3509,7 @@ local.get $this local.get $radix call $~lib/util/number/itoa32 + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -3410,6 +3522,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/memory/memory.repeat (type $i32_i32_i32_i32_=>_none) (param $dst i32) (param $src i32) (param $srcLength i32) (param $count i32) (local $index i32) @@ -3443,6 +3556,7 @@ local.get $left local.get $right call $~lib/string/String#concat + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -3534,6 +3648,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 2 i32.shr_u + return ) (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) i32.const 0 @@ -3657,6 +3772,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -3699,6 +3815,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/rt/__newBuffer (type $i32_i32_i32_=>_i32) (param $size i32) (param $id i32) (param $data i32) (result i32) (local $buffer i32) @@ -3714,6 +3831,7 @@ memory.copy $0 $0 end local.get $buffer + return ) (func $~lib/staticarray/StaticArray<~lib/string/String>#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) local.get $this @@ -3722,6 +3840,7 @@ i32.shl i32.add i32.load $0 + return ) (func $~lib/string/String#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) (local $searchLen i32) @@ -3793,6 +3912,7 @@ end end i32.const -1 + return ) (func $~lib/string/String#substring@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) block $1of1 @@ -3893,6 +4013,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) (local $oldCapacity i32) @@ -4028,6 +4149,7 @@ local.get $len call $~lib/array/Array<~lib/string/String>#set:length_ local.get $len + return ) (func $~lib/string/String#split@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $separator i32) (param $limit i32) (result i32) block $2of2 @@ -4053,6 +4175,7 @@ (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array<~lib/string/String>#get:length_ + return ) (func $~lib/util/string/isSpace (type $i32_=>_i32) (param $c i32) (result i32) (local $1 i32) @@ -4139,6 +4262,7 @@ return end i32.const 0 + return ) (func $~lib/util/string/strtol (type $i32_i32_=>_i32) (param $str i32) (param $radix i32) (result i32) (local $len i32) @@ -4445,11 +4569,13 @@ local.get $sign local.get $num i32.mul + return ) (func $~lib/number/I32.parseInt (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) local.get $value local.get $radix call $~lib/util/string/strtol + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -4711,6 +4837,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + return ) (func $~lib/date/Date#toISOString (type $i32_=>_i32) (param $this i32) (result i32) (local $yr i32) @@ -4931,6 +5058,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $19 + return ) (func $~lib/date/Date#toDateString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -5107,6 +5235,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $20 + return ) (func $~lib/date/Date#toTimeString (type $i32_=>_i32) (param $this i32) (result i32) (local $hours i32) @@ -5198,6 +5327,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $~lib/date/Date#toUTCString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -5434,6 +5564,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $26 + return ) (func $~lib/string/String#split (type $i32_i32_i32_=>_i32) (param $this i32) (param $separator i32) (param $limit i32) (result i32) (local $3 i32) @@ -5787,6 +5918,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $22 + return ) (func $~lib/date/Date.fromString (type $i32_=>_i32) (param $dateTimeString i32) (result i32) (local $hour i32) @@ -6058,6 +6190,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $17 + return ) (func $start:std/date (type $none_=>_none) (local $0 i32) @@ -6226,58 +6359,61 @@ i32.const 0 i32.const 116 memory.fill $0 - i32.const 1970 - local.set $0 - i32.const 0 - local.set $1 - i32.const 1 - local.set $2 - i32.const 0 - local.set $3 - i32.const 0 - local.set $4 - i32.const 0 - local.set $5 - i32.const 0 - local.set $6 - local.get $0 - i32.const 0 - i32.ge_s - if (result i32) - local.get $0 - i32.const 99 - i32.le_s - else + block $~lib/date/Date.UTC|inlined.0 (result i64) + i32.const 1970 + local.set $0 i32.const 0 - end - if + local.set $1 + i32.const 1 + local.set $2 + i32.const 0 + local.set $3 + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + i32.const 0 + local.set $6 local.get $0 - i32.const 1900 + i32.const 0 + i32.ge_s + if (result i32) + local.get $0 + i32.const 99 + i32.le_s + else + i32.const 0 + end + if + local.get $0 + i32.const 1900 + i32.add + local.set $0 + end + local.get $0 + local.get $1 + i32.const 1 i32.add - local.set $0 - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.get $2 - local.get $3 - local.get $4 - local.get $5 - local.get $6 - call $~lib/date/epochMillis - local.set $7 - local.get $7 - call $~lib/date/invalidDate - if - i32.const 32 - i32.const 80 - i32.const 36 - i32.const 26 - call $~lib/builtins/abort - unreachable + local.get $2 + local.get $3 + local.get $4 + local.get $5 + local.get $6 + call $~lib/date/epochMillis + local.set $7 + local.get $7 + call $~lib/date/invalidDate + if + i32.const 32 + i32.const 80 + i32.const 36 + i32.const 26 + call $~lib/builtins/abort + unreachable + end + local.get $7 + br $~lib/date/Date.UTC|inlined.0 end - local.get $7 i64.const 0 i64.eq i32.eqz @@ -6289,58 +6425,61 @@ call $~lib/builtins/abort unreachable end - i32.const 1970 - local.set $8 - i32.const 0 - local.set $9 - i32.const 1 - local.set $10 - i32.const 0 - local.set $11 - i32.const 0 - local.set $12 - i32.const 0 - local.set $13 - i32.const 0 - local.set $14 - local.get $8 - i32.const 0 - i32.ge_s - if (result i32) + block $~lib/date/Date.UTC|inlined.1 (result i64) + i32.const 1970 + local.set $8 + i32.const 0 + local.set $9 + i32.const 1 + local.set $10 + i32.const 0 + local.set $11 + i32.const 0 + local.set $12 + i32.const 0 + local.set $13 + i32.const 0 + local.set $14 local.get $8 - i32.const 99 - i32.le_s - else i32.const 0 - end - if + i32.ge_s + if (result i32) + local.get $8 + i32.const 99 + i32.le_s + else + i32.const 0 + end + if + local.get $8 + i32.const 1900 + i32.add + local.set $8 + end local.get $8 - i32.const 1900 + local.get $9 + i32.const 1 i32.add - local.set $8 - end - local.get $8 - local.get $9 - i32.const 1 - i32.add - local.get $10 - local.get $11 - local.get $12 - local.get $13 - local.get $14 - call $~lib/date/epochMillis - local.set $15 - local.get $15 - call $~lib/date/invalidDate - if - i32.const 32 - i32.const 80 - i32.const 36 - i32.const 26 - call $~lib/builtins/abort - unreachable + local.get $10 + local.get $11 + local.get $12 + local.get $13 + local.get $14 + call $~lib/date/epochMillis + local.set $15 + local.get $15 + call $~lib/date/invalidDate + if + i32.const 32 + i32.const 80 + i32.const 36 + i32.const 26 + call $~lib/builtins/abort + unreachable + end + local.get $15 + br $~lib/date/Date.UTC|inlined.1 end - local.get $15 i64.const 0 i64.eq i32.eqz @@ -6352,58 +6491,61 @@ call $~lib/builtins/abort unreachable end - i32.const 70 - local.set $16 - i32.const 0 - local.set $17 - i32.const 1 - local.set $18 - i32.const 0 - local.set $19 - i32.const 0 - local.set $20 - i32.const 0 - local.set $21 - i32.const 0 - local.set $22 - local.get $16 - i32.const 0 - i32.ge_s - if (result i32) + block $~lib/date/Date.UTC|inlined.2 (result i64) + i32.const 70 + local.set $16 + i32.const 0 + local.set $17 + i32.const 1 + local.set $18 + i32.const 0 + local.set $19 + i32.const 0 + local.set $20 + i32.const 0 + local.set $21 + i32.const 0 + local.set $22 local.get $16 - i32.const 99 - i32.le_s - else i32.const 0 - end - if + i32.ge_s + if (result i32) + local.get $16 + i32.const 99 + i32.le_s + else + i32.const 0 + end + if + local.get $16 + i32.const 1900 + i32.add + local.set $16 + end local.get $16 - i32.const 1900 + local.get $17 + i32.const 1 i32.add - local.set $16 - end - local.get $16 - local.get $17 - i32.const 1 - i32.add - local.get $18 - local.get $19 - local.get $20 - local.get $21 - local.get $22 - call $~lib/date/epochMillis - local.set $23 - local.get $23 - call $~lib/date/invalidDate - if - i32.const 32 - i32.const 80 - i32.const 36 - i32.const 26 - call $~lib/builtins/abort - unreachable + local.get $18 + local.get $19 + local.get $20 + local.get $21 + local.get $22 + call $~lib/date/epochMillis + local.set $23 + local.get $23 + call $~lib/date/invalidDate + if + i32.const 32 + i32.const 80 + i32.const 36 + i32.const 26 + call $~lib/builtins/abort + unreachable + end + local.get $23 + br $~lib/date/Date.UTC|inlined.2 end - local.get $23 i64.const 0 i64.eq i32.eqz @@ -6415,58 +6557,61 @@ call $~lib/builtins/abort unreachable end - i32.const 90 - local.set $24 - i32.const 0 - local.set $25 - i32.const 1 - local.set $26 - i32.const 0 - local.set $27 - i32.const 0 - local.set $28 - i32.const 0 - local.set $29 - i32.const 0 - local.set $30 - local.get $24 - i32.const 0 - i32.ge_s - if (result i32) + block $~lib/date/Date.UTC|inlined.3 (result i64) + i32.const 90 + local.set $24 + i32.const 0 + local.set $25 + i32.const 1 + local.set $26 + i32.const 0 + local.set $27 + i32.const 0 + local.set $28 + i32.const 0 + local.set $29 + i32.const 0 + local.set $30 local.get $24 - i32.const 99 - i32.le_s - else i32.const 0 - end - if + i32.ge_s + if (result i32) + local.get $24 + i32.const 99 + i32.le_s + else + i32.const 0 + end + if + local.get $24 + i32.const 1900 + i32.add + local.set $24 + end local.get $24 - i32.const 1900 + local.get $25 + i32.const 1 i32.add - local.set $24 - end - local.get $24 - local.get $25 - i32.const 1 - i32.add - local.get $26 - local.get $27 - local.get $28 - local.get $29 - local.get $30 - call $~lib/date/epochMillis - local.set $31 - local.get $31 - call $~lib/date/invalidDate - if - i32.const 32 - i32.const 80 - i32.const 36 - i32.const 26 - call $~lib/builtins/abort - unreachable + local.get $26 + local.get $27 + local.get $28 + local.get $29 + local.get $30 + call $~lib/date/epochMillis + local.set $31 + local.get $31 + call $~lib/date/invalidDate + if + i32.const 32 + i32.const 80 + i32.const 36 + i32.const 26 + call $~lib/builtins/abort + unreachable + end + local.get $31 + br $~lib/date/Date.UTC|inlined.3 end - local.get $31 i64.const 631152000000 i64.eq i32.eqz @@ -6478,58 +6623,61 @@ call $~lib/builtins/abort unreachable end - i32.const -90 - local.set $32 - i32.const 0 - local.set $33 - i32.const 1 - local.set $34 - i32.const 0 - local.set $35 - i32.const 0 - local.set $36 - i32.const 0 - local.set $37 - i32.const 0 - local.set $38 - local.get $32 - i32.const 0 - i32.ge_s - if (result i32) + block $~lib/date/Date.UTC|inlined.4 (result i64) + i32.const -90 + local.set $32 + i32.const 0 + local.set $33 + i32.const 1 + local.set $34 + i32.const 0 + local.set $35 + i32.const 0 + local.set $36 + i32.const 0 + local.set $37 + i32.const 0 + local.set $38 local.get $32 - i32.const 99 - i32.le_s - else i32.const 0 - end - if + i32.ge_s + if (result i32) + local.get $32 + i32.const 99 + i32.le_s + else + i32.const 0 + end + if + local.get $32 + i32.const 1900 + i32.add + local.set $32 + end local.get $32 - i32.const 1900 + local.get $33 + i32.const 1 i32.add - local.set $32 - end - local.get $32 - local.get $33 - i32.const 1 - i32.add - local.get $34 - local.get $35 - local.get $36 - local.get $37 - local.get $38 - call $~lib/date/epochMillis - local.set $39 - local.get $39 - call $~lib/date/invalidDate - if - i32.const 32 - i32.const 80 - i32.const 36 - i32.const 26 - call $~lib/builtins/abort - unreachable + local.get $34 + local.get $35 + local.get $36 + local.get $37 + local.get $38 + call $~lib/date/epochMillis + local.set $39 + local.get $39 + call $~lib/date/invalidDate + if + i32.const 32 + i32.const 80 + i32.const 36 + i32.const 26 + call $~lib/builtins/abort + unreachable + end + local.get $39 + br $~lib/date/Date.UTC|inlined.4 end - local.get $39 i64.const -65007360000000 i64.eq i32.eqz @@ -6541,58 +6689,61 @@ call $~lib/builtins/abort unreachable end - i32.const 2018 - local.set $40 - i32.const 10 - local.set $41 - i32.const 10 - local.set $42 - i32.const 11 - local.set $43 - i32.const 0 - local.set $44 - i32.const 0 - local.set $45 - i32.const 1 - local.set $46 - local.get $40 - i32.const 0 - i32.ge_s - if (result i32) + block $~lib/date/Date.UTC|inlined.5 (result i64) + i32.const 2018 + local.set $40 + i32.const 10 + local.set $41 + i32.const 10 + local.set $42 + i32.const 11 + local.set $43 + i32.const 0 + local.set $44 + i32.const 0 + local.set $45 + i32.const 1 + local.set $46 local.get $40 - i32.const 99 - i32.le_s - else i32.const 0 - end - if + i32.ge_s + if (result i32) + local.get $40 + i32.const 99 + i32.le_s + else + i32.const 0 + end + if + local.get $40 + i32.const 1900 + i32.add + local.set $40 + end local.get $40 - i32.const 1900 + local.get $41 + i32.const 1 i32.add - local.set $40 - end - local.get $40 - local.get $41 - i32.const 1 - i32.add - local.get $42 - local.get $43 - local.get $44 - local.get $45 - local.get $46 - call $~lib/date/epochMillis - local.set $47 - local.get $47 - call $~lib/date/invalidDate - if - i32.const 32 - i32.const 80 - i32.const 36 - i32.const 26 - call $~lib/builtins/abort - unreachable + local.get $42 + local.get $43 + local.get $44 + local.get $45 + local.get $46 + call $~lib/date/epochMillis + local.set $47 + local.get $47 + call $~lib/date/invalidDate + if + i32.const 32 + i32.const 80 + i32.const 36 + i32.const 26 + call $~lib/builtins/abort + unreachable + end + local.get $47 + br $~lib/date/Date.UTC|inlined.5 end - local.get $47 i64.const 1541847600001 i64.eq i32.eqz @@ -6604,58 +6755,61 @@ call $~lib/builtins/abort unreachable end - i32.const 275760 - local.set $48 - i32.const 8 - local.set $49 - i32.const 13 - local.set $50 - i32.const 0 - local.set $51 - i32.const 0 - local.set $52 - i32.const 0 - local.set $53 - i32.const 0 - local.set $54 - local.get $48 - i32.const 0 - i32.ge_s - if (result i32) + block $~lib/date/Date.UTC|inlined.6 (result i64) + i32.const 275760 + local.set $48 + i32.const 8 + local.set $49 + i32.const 13 + local.set $50 + i32.const 0 + local.set $51 + i32.const 0 + local.set $52 + i32.const 0 + local.set $53 + i32.const 0 + local.set $54 local.get $48 - i32.const 99 - i32.le_s - else i32.const 0 - end - if + i32.ge_s + if (result i32) + local.get $48 + i32.const 99 + i32.le_s + else + i32.const 0 + end + if + local.get $48 + i32.const 1900 + i32.add + local.set $48 + end local.get $48 - i32.const 1900 + local.get $49 + i32.const 1 i32.add - local.set $48 - end - local.get $48 - local.get $49 - i32.const 1 - i32.add - local.get $50 - local.get $51 - local.get $52 - local.get $53 - local.get $54 - call $~lib/date/epochMillis - local.set $55 - local.get $55 - call $~lib/date/invalidDate - if - i32.const 32 - i32.const 80 - i32.const 36 - i32.const 26 - call $~lib/builtins/abort - unreachable + local.get $50 + local.get $51 + local.get $52 + local.get $53 + local.get $54 + call $~lib/date/epochMillis + local.set $55 + local.get $55 + call $~lib/date/invalidDate + if + i32.const 32 + i32.const 80 + i32.const 36 + i32.const 26 + call $~lib/builtins/abort + unreachable + end + local.get $55 + br $~lib/date/Date.UTC|inlined.6 end - local.get $55 i64.const 8640000000000000 i64.eq i32.eqz @@ -6692,10 +6846,13 @@ call $~lib/date/Date#constructor local.tee $57 i32.store $0 - local.get $57 - local.set $58 - local.get $58 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.0 (result i64) + local.get $57 + local.set $58 + local.get $58 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.0 + end local.get $56 i64.eq i32.eqz @@ -6713,10 +6870,13 @@ i64.add call $~lib/date/Date#setTime drop - local.get $57 - local.set $59 - local.get $59 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.1 (result i64) + local.get $57 + local.set $59 + local.get $59 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.1 + end local.get $56 i64.const 1 i64.add @@ -6736,10 +6896,13 @@ call $~lib/date/Date#constructor local.tee $60 i32.store $0 offset=4 - local.get $60 - local.set $61 - local.get $61 - call $~lib/date/Date#get:year + block $~lib/date/Date#getUTCFullYear|inlined.0 (result i32) + local.get $60 + local.set $61 + local.get $61 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.0 + end i32.const 189512 i32.eq i32.eqz @@ -6751,12 +6914,15 @@ call $~lib/builtins/abort unreachable end - local.get $60 - local.set $62 - local.get $62 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub + block $~lib/date/Date#getUTCMonth|inlined.0 (result i32) + local.get $60 + local.set $62 + local.get $62 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.0 + end i32.const 11 i32.eq i32.eqz @@ -6768,10 +6934,13 @@ call $~lib/builtins/abort unreachable end - local.get $60 - local.set $63 - local.get $63 - call $~lib/date/Date#get:day + block $~lib/date/Date#getUTCDate|inlined.0 (result i32) + local.get $60 + local.set $63 + local.get $63 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.0 + end i32.const 14 i32.eq i32.eqz @@ -6841,10 +7010,13 @@ call $~lib/date/Date#constructor local.tee $64 i32.store $0 offset=8 - local.get $64 - local.set $65 - local.get $65 - call $~lib/date/Date#get:year + block $~lib/date/Date#getUTCFullYear|inlined.1 (result i32) + local.get $64 + local.set $65 + local.get $65 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.1 + end i32.const 1973 i32.eq i32.eqz @@ -6856,12 +7028,15 @@ call $~lib/builtins/abort unreachable end - local.get $64 - local.set $66 - local.get $66 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub + block $~lib/date/Date#getUTCMonth|inlined.1 (result i32) + local.get $64 + local.set $66 + local.get $66 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.1 + end i32.const 11 i32.eq i32.eqz @@ -6873,10 +7048,13 @@ call $~lib/builtins/abort unreachable end - local.get $64 - local.set $67 - local.get $67 - call $~lib/date/Date#get:day + block $~lib/date/Date#getUTCDate|inlined.1 (result i32) + local.get $64 + local.set $67 + local.get $67 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.1 + end i32.const 4 i32.eq i32.eqz @@ -6994,10 +7172,13 @@ local.get $68 i32.const 0 call $~lib/date/Date#setUTCMilliseconds - local.get $68 - local.set $69 - local.get $69 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.2 (result i64) + local.get $68 + local.set $69 + local.get $69 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.2 + end i64.const 399464523963000 i64.eq i32.eqz @@ -7012,10 +7193,13 @@ local.get $68 i32.const 999 call $~lib/date/Date#setUTCMilliseconds - local.get $68 - local.set $70 - local.get $70 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.3 (result i64) + local.get $68 + local.set $70 + local.get $70 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.3 + end i64.const 399464523963999 i64.eq i32.eqz @@ -7043,10 +7227,13 @@ call $~lib/builtins/abort unreachable end - local.get $68 - local.set $71 - local.get $71 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.4 (result i64) + local.get $68 + local.set $71 + local.get $71 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.4 + end i64.const 399464523965000 i64.eq i32.eqz @@ -7074,10 +7261,13 @@ call $~lib/builtins/abort unreachable end - local.get $68 - local.set $72 - local.get $72 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.5 (result i64) + local.get $68 + local.set $72 + local.get $72 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.5 + end i64.const 399464523963000 i64.eq i32.eqz @@ -7143,10 +7333,13 @@ local.get $73 i32.const 0 call $~lib/date/Date#setUTCSeconds - local.get $73 - local.set $74 - local.get $74 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.6 (result i64) + local.get $73 + local.set $74 + local.get $74 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.6 + end i64.const 372027318300986 i64.eq i32.eqz @@ -7161,10 +7354,13 @@ local.get $73 i32.const 59 call $~lib/date/Date#setUTCSeconds - local.get $73 - local.set $75 - local.get $75 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.7 (result i64) + local.get $73 + local.set $75 + local.get $75 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.7 + end i64.const 372027318359986 i64.eq i32.eqz @@ -7230,10 +7426,13 @@ local.get $76 i32.const 0 call $~lib/date/Date#setUTCMinutes - local.get $76 - local.set $77 - local.get $77 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.8 (result i64) + local.get $76 + local.set $77 + local.get $77 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.8 + end i64.const 372027315631986 i64.eq i32.eqz @@ -7248,10 +7447,13 @@ local.get $76 i32.const 59 call $~lib/date/Date#setUTCMinutes - local.get $76 - local.set $78 - local.get $78 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.9 (result i64) + local.get $76 + local.set $78 + local.get $78 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.9 + end i64.const 372027319171986 i64.eq i32.eqz @@ -7317,10 +7519,13 @@ local.get $79 i32.const 0 call $~lib/date/Date#setUTCHours - local.get $79 - local.set $80 - local.get $80 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.10 (result i64) + local.get $79 + local.set $80 + local.get $80 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.10 + end i64.const 372027257131986 i64.eq i32.eqz @@ -7335,10 +7540,13 @@ local.get $79 i32.const 23 call $~lib/date/Date#setUTCHours - local.get $79 - local.set $81 - local.get $81 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.11 (result i64) + local.get $79 + local.set $81 + local.get $81 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.11 + end i64.const 372027339931986 i64.eq i32.eqz @@ -7356,10 +7564,13 @@ call $~lib/date/Date#constructor local.tee $82 i32.store $0 offset=28 - local.get $82 - local.set $83 - local.get $83 - call $~lib/date/Date#get:year + block $~lib/date/Date#getUTCFullYear|inlined.2 (result i32) + local.get $82 + local.set $83 + local.get $83 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.2 + end i32.const 1973 i32.eq i32.eqz @@ -7371,12 +7582,15 @@ call $~lib/builtins/abort unreachable end - local.get $82 - local.set $84 - local.get $84 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub + block $~lib/date/Date#getUTCMonth|inlined.2 (result i32) + local.get $82 + local.set $84 + local.get $84 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.2 + end i32.const 11 i32.eq i32.eqz @@ -7391,10 +7605,13 @@ local.get $82 i32.const 12 call $~lib/date/Date#setUTCDate - local.get $82 - local.set $85 - local.get $85 - call $~lib/date/Date#get:day + block $~lib/date/Date#getUTCDate|inlined.2 (result i32) + local.get $82 + local.set $85 + local.get $85 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.2 + end i32.const 12 i32.eq i32.eqz @@ -7409,10 +7626,13 @@ local.get $82 i32.const 2 call $~lib/date/Date#setUTCDate - local.get $82 - local.set $86 - local.get $86 - call $~lib/date/Date#get:day + block $~lib/date/Date#getUTCDate|inlined.3 (result i32) + local.get $82 + local.set $86 + local.get $86 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.3 + end i32.const 2 i32.eq i32.eqz @@ -7451,12 +7671,15 @@ global.set $~argumentsLength i32.const 0 call $~lib/date/Date#setUTCMonth@varargs - local.get $82 - local.set $87 - local.get $87 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub + block $~lib/date/Date#getUTCMonth|inlined.3 (result i32) + local.get $82 + local.set $87 + local.get $87 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.3 + end i32.const 2 i32.eq i32.eqz @@ -7480,10 +7703,13 @@ global.set $~argumentsLength i32.const 0 call $~lib/date/Date#setUTCMonth@varargs - local.get $82 - local.set $88 - local.get $88 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.12 (result i64) + local.get $82 + local.set $88 + local.get $88 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.12 + end i64.const 1709168591274 i64.eq i32.eqz @@ -7495,12 +7721,15 @@ call $~lib/builtins/abort unreachable end - local.get $82 - local.set $89 - local.get $89 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub + block $~lib/date/Date#getUTCMonth|inlined.4 (result i32) + local.get $82 + local.set $89 + local.get $89 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.4 + end i32.const 1 i32.eq i32.eqz @@ -7512,10 +7741,13 @@ call $~lib/builtins/abort unreachable end - local.get $82 - local.set $90 - local.get $90 - call $~lib/date/Date#get:day + block $~lib/date/Date#getUTCDate|inlined.4 (result i32) + local.get $82 + local.set $90 + local.get $90 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.4 + end i32.const 29 i32.eq i32.eqz @@ -7575,10 +7807,13 @@ local.get $82 i32.const 20 call $~lib/date/Date#setUTCDate - local.get $82 - local.set $91 - local.get $91 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.13 (result i64) + local.get $82 + local.set $91 + local.get $91 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.13 + end i64.const 1363748399999 i64.eq i32.eqz @@ -7593,10 +7828,13 @@ local.get $82 i32.const 1 call $~lib/date/Date#setUTCDate - local.get $82 - local.set $92 - local.get $92 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.14 (result i64) + local.get $82 + local.set $92 + local.get $92 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.14 + end i64.const 1362106799999 i64.eq i32.eqz @@ -7611,10 +7849,13 @@ local.get $82 i32.const 1000 call $~lib/date/Date#setUTCMilliseconds - local.get $82 - local.set $93 - local.get $93 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.15 (result i64) + local.get $82 + local.set $93 + local.get $93 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.15 + end i64.const 1362106800000 i64.eq i32.eqz @@ -7633,10 +7874,13 @@ i32.const 1000 i32.mul call $~lib/date/Date#setUTCMilliseconds - local.get $82 - local.set $94 - local.get $94 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.16 (result i64) + local.get $82 + local.set $94 + local.get $94 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.16 + end i64.const 1362110400000 i64.eq i32.eqz @@ -7657,10 +7901,13 @@ i32.const 1 i32.add call $~lib/date/Date#setUTCMilliseconds - local.get $82 - local.set $95 - local.get $95 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.17 (result i64) + local.get $82 + local.set $95 + local.get $95 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.17 + end i64.const 1362114000001 i64.eq i32.eqz @@ -7681,10 +7928,13 @@ i32.const 1 i32.add call $~lib/date/Date#setUTCMilliseconds - local.get $82 - local.set $96 - local.get $96 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.18 (result i64) + local.get $82 + local.set $96 + local.get $96 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.18 + end i64.const 1362117600001 i64.eq i32.eqz @@ -7705,10 +7955,13 @@ local.get $82 i32.const -2208 call $~lib/date/Date#setUTCDate - local.get $82 - local.set $97 - local.get $97 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.19 (result i64) + local.get $82 + local.set $97 + local.get $97 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.19 + end i64.const -67301808726 i64.eq i32.eqz @@ -7729,10 +7982,13 @@ local.get $82 i32.const 2208 call $~lib/date/Date#setUTCDate - local.get $82 - local.set $98 - local.get $98 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.20 (result i64) + local.get $82 + local.set $98 + local.get $98 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.20 + end i64.const 314240591274 i64.eq i32.eqz @@ -7744,19 +8000,22 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1467763200000 - call $~lib/date/Date#constructor - local.tee $99 - i32.store $0 offset=32 - local.get $99 - call $~lib/date/Date#get:year - local.get $99 - call $~lib/date/Date#get:month - local.get $99 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek + block $~lib/date/Date#getUTCDay|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1467763200000 + call $~lib/date/Date#constructor + local.tee $99 + i32.store $0 offset=32 + local.get $99 + call $~lib/date/Date#get:year + local.get $99 + call $~lib/date/Date#get:month + local.get $99 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.0 + end i32.const 3 i32.eq i32.eqz @@ -7768,21 +8027,24 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1467763200000 - i64.const 1 - i64.sub - call $~lib/date/Date#constructor - local.tee $100 - i32.store $0 offset=36 - local.get $100 - call $~lib/date/Date#get:year - local.get $100 - call $~lib/date/Date#get:month - local.get $100 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek + block $~lib/date/Date#getUTCDay|inlined.1 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1467763200000 + i64.const 1 + i64.sub + call $~lib/date/Date#constructor + local.tee $100 + i32.store $0 offset=36 + local.get $100 + call $~lib/date/Date#get:year + local.get $100 + call $~lib/date/Date#get:month + local.get $100 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.1 + end i32.const 2 i32.eq i32.eqz @@ -7794,23 +8056,26 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1467763200000 - i64.const 86400000 - i64.add - i64.const 1 - i64.sub - call $~lib/date/Date#constructor - local.tee $101 - i32.store $0 offset=40 - local.get $101 - call $~lib/date/Date#get:year - local.get $101 - call $~lib/date/Date#get:month - local.get $101 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek + block $~lib/date/Date#getUTCDay|inlined.2 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1467763200000 + i64.const 86400000 + i64.add + i64.const 1 + i64.sub + call $~lib/date/Date#constructor + local.tee $101 + i32.store $0 offset=40 + local.get $101 + call $~lib/date/Date#get:year + local.get $101 + call $~lib/date/Date#get:month + local.get $101 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.2 + end i32.const 3 i32.eq i32.eqz @@ -7822,21 +8087,24 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1467763200000 - i64.const 86400000 - i64.add - call $~lib/date/Date#constructor - local.tee $102 - i32.store $0 offset=44 - local.get $102 - call $~lib/date/Date#get:year - local.get $102 - call $~lib/date/Date#get:month - local.get $102 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek + block $~lib/date/Date#getUTCDay|inlined.3 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1467763200000 + i64.const 86400000 + i64.add + call $~lib/date/Date#constructor + local.tee $102 + i32.store $0 offset=44 + local.get $102 + call $~lib/date/Date#get:year + local.get $102 + call $~lib/date/Date#get:month + local.get $102 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.3 + end i32.const 4 i32.eq i32.eqz @@ -7848,19 +8116,22 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1468022400000 - call $~lib/date/Date#constructor - local.tee $103 - i32.store $0 offset=48 - local.get $103 - call $~lib/date/Date#get:year - local.get $103 - call $~lib/date/Date#get:month - local.get $103 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek + block $~lib/date/Date#getUTCDay|inlined.4 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1468022400000 + call $~lib/date/Date#constructor + local.tee $103 + i32.store $0 offset=48 + local.get $103 + call $~lib/date/Date#get:year + local.get $103 + call $~lib/date/Date#get:month + local.get $103 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.4 + end i32.const 6 i32.eq i32.eqz @@ -7872,21 +8143,24 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1468022400000 - i64.const 1 - i64.sub - call $~lib/date/Date#constructor - local.tee $104 - i32.store $0 offset=52 - local.get $104 - call $~lib/date/Date#get:year - local.get $104 - call $~lib/date/Date#get:month - local.get $104 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek + block $~lib/date/Date#getUTCDay|inlined.5 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1468022400000 + i64.const 1 + i64.sub + call $~lib/date/Date#constructor + local.tee $104 + i32.store $0 offset=52 + local.get $104 + call $~lib/date/Date#get:year + local.get $104 + call $~lib/date/Date#get:month + local.get $104 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.5 + end i32.const 5 i32.eq i32.eqz @@ -7898,23 +8172,26 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1468022400000 - i64.const 86400000 - i64.add - i64.const 1 - i64.sub - call $~lib/date/Date#constructor - local.tee $105 - i32.store $0 offset=56 - local.get $105 - call $~lib/date/Date#get:year - local.get $105 - call $~lib/date/Date#get:month - local.get $105 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek + block $~lib/date/Date#getUTCDay|inlined.6 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1468022400000 + i64.const 86400000 + i64.add + i64.const 1 + i64.sub + call $~lib/date/Date#constructor + local.tee $105 + i32.store $0 offset=56 + local.get $105 + call $~lib/date/Date#get:year + local.get $105 + call $~lib/date/Date#get:month + local.get $105 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.6 + end i32.const 6 i32.eq i32.eqz @@ -7926,21 +8203,24 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1468022400000 - i64.const 86400000 - i64.add - call $~lib/date/Date#constructor - local.tee $106 - i32.store $0 offset=60 - local.get $106 - call $~lib/date/Date#get:year - local.get $106 - call $~lib/date/Date#get:month - local.get $106 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek + block $~lib/date/Date#getUTCDay|inlined.7 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1468022400000 + i64.const 86400000 + i64.add + call $~lib/date/Date#constructor + local.tee $106 + i32.store $0 offset=60 + local.get $106 + call $~lib/date/Date#get:year + local.get $106 + call $~lib/date/Date#get:month + local.get $106 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.7 + end i32.const 0 i32.eq i32.eqz @@ -7958,12 +8238,15 @@ call $~lib/date/Date#constructor local.tee $107 i32.store $0 offset=64 - local.get $107 - local.set $108 - local.get $108 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub + block $~lib/date/Date#getUTCMonth|inlined.5 (result i32) + local.get $107 + local.set $108 + local.get $108 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.5 + end i32.const 3 i32.eq i32.eqz @@ -7981,12 +8264,15 @@ global.set $~argumentsLength i32.const 0 call $~lib/date/Date#setUTCMonth@varargs - local.get $107 - local.set $109 - local.get $109 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub + block $~lib/date/Date#getUTCMonth|inlined.6 (result i32) + local.get $107 + local.set $109 + local.get $109 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.6 + end i32.const 10 i32.eq i32.eqz @@ -8004,12 +8290,15 @@ global.set $~argumentsLength i32.const 0 call $~lib/date/Date#setUTCMonth@varargs - local.get $107 - local.set $110 - local.get $110 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub + block $~lib/date/Date#getUTCMonth|inlined.7 (result i32) + local.get $107 + local.set $110 + local.get $110 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.7 + end i32.const 2 i32.eq i32.eqz @@ -8021,10 +8310,13 @@ call $~lib/builtins/abort unreachable end - local.get $107 - local.set $111 - local.get $111 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.21 (result i64) + local.get $107 + local.set $111 + local.get $111 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.21 + end i64.const 7899941177818720 i64.eq i32.eqz @@ -8042,10 +8334,13 @@ global.set $~argumentsLength i32.const 0 call $~lib/date/Date#setUTCMonth@varargs - local.get $107 - local.set $112 - local.get $112 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.22 (result i64) + local.get $107 + local.set $112 + local.get $112 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.22 + end i64.const 7899936080218720 i64.eq i32.eqz @@ -8063,10 +8358,13 @@ global.set $~argumentsLength i32.const 0 call $~lib/date/Date#setUTCMonth@varargs - local.get $107 - local.set $113 - local.get $113 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.23 (result i64) + local.get $107 + local.set $113 + local.get $113 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.23 + end i64.const 7899964937818720 i64.eq i32.eqz @@ -8084,12 +8382,15 @@ global.set $~argumentsLength i32.const 0 call $~lib/date/Date#setUTCMonth@varargs - local.get $107 - local.set $114 - local.get $114 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub + block $~lib/date/Date#getUTCMonth|inlined.8 (result i32) + local.get $107 + local.set $114 + local.get $114 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.8 + end i32.const 11 i32.eq i32.eqz @@ -8101,10 +8402,13 @@ call $~lib/builtins/abort unreachable end - local.get $107 - local.set $115 - local.get $115 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.24 (result i64) + local.get $107 + local.set $115 + local.get $115 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.24 + end i64.const 7899933401818720 i64.eq i32.eqz @@ -8122,12 +8426,15 @@ global.set $~argumentsLength i32.const 0 call $~lib/date/Date#setUTCMonth@varargs - local.get $107 - local.set $116 - local.get $116 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub + block $~lib/date/Date#getUTCMonth|inlined.9 (result i32) + local.get $107 + local.set $116 + local.get $116 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.9 + end i32.const 0 i32.eq i32.eqz @@ -8139,10 +8446,13 @@ call $~lib/builtins/abort unreachable end - local.get $107 - local.set $117 - local.get $117 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.25 (result i64) + local.get $107 + local.set $117 + local.get $117 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.25 + end i64.const 7899936080218720 i64.eq i32.eqz @@ -8160,10 +8470,13 @@ call $~lib/date/Date#constructor local.tee $118 i32.store $0 offset=68 - local.get $118 - local.set $119 - local.get $119 - call $~lib/date/Date#get:year + block $~lib/date/Date#getUTCFullYear|inlined.3 (result i32) + local.get $118 + local.set $119 + local.get $119 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.3 + end i32.const 253616 i32.eq i32.eqz @@ -8178,10 +8491,13 @@ local.get $118 i32.const 1976 call $~lib/date/Date#setUTCFullYear - local.get $118 - local.set $120 - local.get $120 - call $~lib/date/Date#get:year + block $~lib/date/Date#getUTCFullYear|inlined.4 (result i32) + local.get $118 + local.set $120 + local.get $120 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.4 + end i32.const 1976 i32.eq i32.eqz @@ -8196,10 +8512,13 @@ local.get $118 i32.const 20212 call $~lib/date/Date#setUTCFullYear - local.get $118 - local.set $121 - local.get $121 - call $~lib/date/Date#get:year + block $~lib/date/Date#getUTCFullYear|inlined.5 (result i32) + local.get $118 + local.set $121 + local.get $121 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.5 + end i32.const 20212 i32.eq i32.eqz @@ -8214,10 +8533,13 @@ local.get $118 i32.const 71 call $~lib/date/Date#setUTCFullYear - local.get $118 - local.set $122 - local.get $122 - call $~lib/date/Date#get:year + block $~lib/date/Date#getUTCFullYear|inlined.6 (result i32) + local.get $118 + local.set $122 + local.get $122 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.6 + end i32.const 71 i32.eq i32.eqz @@ -8734,10 +9056,13 @@ call $~lib/date/Date.fromString local.tee $127 i32.store $0 offset=96 - local.get $127 - local.set $128 - local.get $128 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.26 (result i64) + local.get $127 + local.set $128 + local.get $128 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.26 + end i64.const 192067200000 i64.eq i32.eqz @@ -8759,10 +9084,13 @@ call $~lib/date/Date.fromString local.tee $127 i32.store $0 offset=96 - local.get $127 - local.set $129 - local.get $129 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.27 (result i64) + local.get $127 + local.set $129 + local.get $129 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.27 + end i64.const 192067200000 i64.eq i32.eqz @@ -8784,10 +9112,13 @@ call $~lib/date/Date.fromString local.tee $127 i32.store $0 offset=96 - local.get $127 - local.set $130 - local.get $130 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.28 (result i64) + local.get $127 + local.set $130 + local.get $130 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.28 + end i64.const 11860387200000 i64.eq i32.eqz @@ -8809,10 +9140,13 @@ call $~lib/date/Date.fromString local.tee $127 i32.store $0 offset=96 - local.get $127 - local.set $131 - local.get $131 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.29 (result i64) + local.get $127 + local.set $131 + local.get $131 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.29 + end i64.const 192112496000 i64.eq i32.eqz @@ -8834,10 +9168,13 @@ call $~lib/date/Date.fromString local.tee $127 i32.store $0 offset=96 - local.get $127 - local.set $132 - local.get $132 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.30 (result i64) + local.get $127 + local.set $132 + local.get $132 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.30 + end i64.const 192112496456 i64.eq i32.eqz @@ -8859,10 +9196,13 @@ call $~lib/date/Date.fromString local.tee $127 i32.store $0 offset=96 - local.get $127 - local.set $133 - local.get $133 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.31 (result i64) + local.get $127 + local.set $133 + local.get $133 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.31 + end i64.const 192112496456 i64.eq i32.eqz @@ -8884,10 +9224,13 @@ call $~lib/date/Date.fromString local.tee $127 i32.store $0 offset=96 - local.get $127 - local.set $134 - local.get $134 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.32 (result i64) + local.get $127 + local.set $134 + local.get $134 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.32 + end i64.const -62167219200000 i64.eq i32.eqz @@ -8909,10 +9252,13 @@ call $~lib/date/Date.fromString local.tee $127 i32.store $0 offset=96 - local.get $127 - local.set $135 - local.get $135 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.33 (result i64) + local.get $127 + local.set $135 + local.get $135 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.33 + end i64.const -62135596800000 i64.eq i32.eqz @@ -8934,10 +9280,13 @@ call $~lib/date/Date.fromString local.tee $127 i32.store $0 offset=96 - local.get $127 - local.set $136 - local.get $136 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.34 (result i64) + local.get $127 + local.set $136 + local.get $136 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.34 + end i64.const 189302400000 i64.eq i32.eqz @@ -8959,10 +9308,13 @@ call $~lib/date/Date.fromString local.tee $127 i32.store $0 offset=96 - local.get $127 - local.set $137 - local.get $137 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.35 (result i64) + local.get $127 + local.set $137 + local.get $137 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.35 + end i64.const 191980800000 i64.eq i32.eqz @@ -8984,10 +9336,13 @@ call $~lib/date/Date.fromString local.tee $127 i32.store $0 offset=96 - local.get $127 - local.set $138 - local.get $138 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.36 (result i64) + local.get $127 + local.set $138 + local.get $138 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.36 + end i64.const 192067200000 i64.eq i32.eqz @@ -9009,10 +9364,13 @@ call $~lib/date/Date.fromString local.tee $127 i32.store $0 offset=96 - local.get $127 - local.set $139 - local.get $139 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.37 (result i64) + local.get $127 + local.set $139 + local.get $139 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.37 + end i64.const 192112440000 i64.eq i32.eqz @@ -9034,10 +9392,13 @@ call $~lib/date/Date.fromString local.tee $127 i32.store $0 offset=96 - local.get $127 - local.set $140 - local.get $140 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.38 (result i64) + local.get $127 + local.set $140 + local.get $140 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.38 + end i64.const 192112496000 i64.eq i32.eqz @@ -9061,10 +9422,13 @@ call $~lib/date/Date#constructor local.tee $142 i32.store $0 offset=104 - local.get $141 - local.set $143 - local.get $143 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.39 (result i64) + local.get $141 + local.set $143 + local.get $143 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.39 + end i64.const -8640000000000000 i64.eq i32.eqz @@ -9076,10 +9440,13 @@ call $~lib/builtins/abort unreachable end - local.get $142 - local.set $144 - local.get $144 - call $~lib/date/Date#get:epochMillis + block $~lib/date/Date#getTime|inlined.40 (result i64) + local.get $142 + local.set $144 + local.get $144 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.40 + end i64.const 8640000000000000 i64.eq i32.eqz @@ -9091,10 +9458,13 @@ call $~lib/builtins/abort unreachable end - local.get $141 - local.set $145 - local.get $145 - call $~lib/date/Date#get:year + block $~lib/date/Date#getUTCFullYear|inlined.7 (result i32) + local.get $141 + local.set $145 + local.get $145 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.7 + end i32.const -271821 i32.eq i32.eqz @@ -9106,10 +9476,13 @@ call $~lib/builtins/abort unreachable end - local.get $142 - local.set $146 - local.get $146 - call $~lib/date/Date#get:year + block $~lib/date/Date#getUTCFullYear|inlined.8 (result i32) + local.get $142 + local.set $146 + local.get $146 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.8 + end i32.const 275760 i32.eq i32.eqz @@ -9121,12 +9494,15 @@ call $~lib/builtins/abort unreachable end - local.get $141 - local.set $147 - local.get $147 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub + block $~lib/date/Date#getUTCMonth|inlined.10 (result i32) + local.get $141 + local.set $147 + local.get $147 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.10 + end i32.const 3 i32.eq i32.eqz @@ -9138,12 +9514,15 @@ call $~lib/builtins/abort unreachable end - local.get $142 - local.set $148 - local.get $148 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub + block $~lib/date/Date#getUTCMonth|inlined.11 (result i32) + local.get $142 + local.set $148 + local.get $148 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.11 + end i32.const 8 i32.eq i32.eqz @@ -9155,10 +9534,13 @@ call $~lib/builtins/abort unreachable end - local.get $141 - local.set $149 - local.get $149 - call $~lib/date/Date#get:day + block $~lib/date/Date#getUTCDate|inlined.5 (result i32) + local.get $141 + local.set $149 + local.get $149 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.5 + end i32.const 20 i32.eq i32.eqz @@ -9170,10 +9552,13 @@ call $~lib/builtins/abort unreachable end - local.get $142 - local.set $150 - local.get $150 - call $~lib/date/Date#get:day + block $~lib/date/Date#getUTCDate|inlined.6 (result i32) + local.get $142 + local.set $150 + local.get $150 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.6 + end i32.const 13 i32.eq i32.eqz @@ -9247,10 +9632,13 @@ call $~lib/date/Date#constructor local.tee $152 i32.store $0 offset=112 - local.get $152 - local.set $153 - local.get $153 - call $~lib/date/Date#get:year + block $~lib/date/Date#getUTCFullYear|inlined.9 (result i32) + local.get $152 + local.set $153 + local.get $153 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.9 + end i32.const -271821 i32.eq i32.eqz @@ -9262,12 +9650,15 @@ call $~lib/builtins/abort unreachable end - local.get $152 - local.set $154 - local.get $154 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub + block $~lib/date/Date#getUTCMonth|inlined.12 (result i32) + local.get $152 + local.set $154 + local.get $154 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.12 + end i32.const 3 i32.eq i32.eqz @@ -9279,10 +9670,13 @@ call $~lib/builtins/abort unreachable end - local.get $152 - local.set $155 - local.get $155 - call $~lib/date/Date#get:day + block $~lib/date/Date#getUTCDate|inlined.7 (result i32) + local.get $152 + local.set $155 + local.get $155 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.7 + end i32.const 20 i32.eq i32.eqz @@ -9637,6 +10031,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/string/String#padStart (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $pad i32) (result i32) (local $thisSize i32) @@ -9747,6 +10142,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) (local $thisSize i32) @@ -9812,6 +10208,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 + return ) (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -10021,6 +10418,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $13 + return ) (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $len i32) @@ -10164,6 +10562,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $22 + return ) (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) (local $bufferSize i32) @@ -10216,6 +10615,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -10272,5 +10672,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) ) diff --git a/tests/compiler/std/date.release.wat b/tests/compiler/std/date.release.wat index f4edd491a8..d3072c12d9 100644 --- a/tests/compiler/std/date.release.wat +++ b/tests/compiler/std/date.release.wat @@ -2419,12 +2419,13 @@ (local $5 i32) (local $6 i32) local.get $0 + local.tee $3 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -2441,17 +2442,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $0 i64.const 0 i64.store $0 - local.get $5 + local.get $0 i32.const 0 i32.store $0 offset=8 block $__inlined_func$~lib/util/string/joinStringArray - local.get $4 + local.get $5 i32.const 1 i32.sub - local.tee $5 + local.tee $6 i32.const 0 i32.lt_s if @@ -2460,15 +2461,15 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 3456 - local.set $1 + local.set $0 br $__inlined_func$~lib/util/string/joinStringArray end - local.get $5 + local.get $6 i32.eqz if global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $0 + local.get $3 i32.load $0 local.tee $0 i32.store $0 @@ -2480,27 +2481,29 @@ i32.const 3456 local.get $0 select - local.set $1 + local.set $0 br $__inlined_func$~lib/util/string/joinStringArray end + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 - local.get $4 + local.get $0 + local.get $5 i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $3 local.get $0 - local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $6 + local.tee $4 i32.store $0 offset=4 - local.get $6 + local.get $4 if local.get $1 - local.get $6 + local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 @@ -2509,110 +2512,110 @@ i32.add local.set $1 end - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|0 end end - i32.const 0 - local.set $2 global.get $~lib/memory/__stack_pointer local.get $1 + local.get $6 i32.const 3452 i32.load $0 i32.const 1 i32.shr_u - local.tee $4 - local.get $5 + local.tee $5 i32.mul i32.add i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 offset=8 + i32.const 0 + local.set $1 loop $for-loop|1 - local.get $3 - local.get $5 + local.get $1 + local.get $6 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 local.get $3 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $6 + local.tee $4 i32.store $0 offset=4 - local.get $6 + local.get $4 if - local.get $1 + local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $6 - local.get $6 + local.get $4 + local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 1 i32.shr_u - local.tee $6 + local.tee $4 i32.const 1 i32.shl memory.copy $0 $0 local.get $2 - local.get $6 + local.get $4 i32.add local.set $2 end - local.get $4 + local.get $5 if - local.get $1 + local.get $0 local.get $2 i32.const 1 i32.shl i32.add i32.const 3456 - local.get $4 + local.get $5 i32.const 1 i32.shl memory.copy $0 $0 local.get $2 - local.get $4 + local.get $5 i32.add local.set $2 end - local.get $3 + local.get $1 i32.const 1 i32.add - local.set $3 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $5 + local.get $3 + local.get $6 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $0 + local.tee $1 i32.store $0 offset=4 - local.get $0 + local.get $1 if - local.get $1 + local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $0 - local.get $0 + local.get $1 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -2625,7 +2628,7 @@ i32.add global.set $~lib/memory/__stack_pointer end - local.get $1 + local.get $0 ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) @@ -3338,27 +3341,34 @@ i32.const 2 i32.shl i32.add - local.set $2 - loop $while-continue|03 + local.set $3 + loop $while-continue|04 local.get $1 - local.get $2 + local.get $3 i32.lt_u if local.get $1 i32.load $0 - local.tee $3 + local.tee $2 if - local.get $3 + local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__visit end local.get $1 i32.const 4 i32.add local.set $1 - br $while-continue|03 + br $while-continue|04 end end - br $folding-inner0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return end unreachable end @@ -3862,20 +3872,21 @@ i32.store $0 offset=4 local.get $0 i32.load $0 - local.tee $1 + local.tee $4 local.get $0 i32.load $0 offset=4 - local.tee $4 + local.tee $1 i32.const 3 i32.lt_s i32.sub - local.set $5 - i32.const 7 + local.tee $5 i32.const 0 + i32.lt_s + local.set $6 local.get $0 i32.load $0 offset=8 local.tee $0 - local.get $4 + local.get $1 i32.const 1579 i32.add i32.load8_u $0 @@ -3883,10 +3894,7 @@ local.get $5 i32.const 3 i32.const 0 - local.get $5 - i32.const 0 - i32.lt_s - local.tee $6 + local.get $6 select i32.sub i32.const 4 @@ -3914,21 +3922,15 @@ i32.add i32.const 7 i32.rem_s - local.tee $5 - i32.const 0 - i32.lt_s - select - local.get $5 - i32.add local.set $5 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.const 31 i32.shr_s local.tee $6 - local.get $1 - local.get $6 + local.get $4 i32.add + local.get $6 i32.xor i32.const 4 call $~lib/date/stringify @@ -3936,18 +3938,25 @@ i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer local.get $3 - local.get $4 + local.get $1 i32.const 1 i32.sub i32.const 2 i32.shl i32.add i32.load $0 - local.tee $3 + local.tee $1 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer local.get $2 + i32.const 7 + i32.const 0 local.get $5 + i32.const 0 + i32.lt_s + select + local.get $5 + i32.add i32.const 2 i32.shl i32.add @@ -3963,11 +3972,11 @@ global.get $~lib/memory/__stack_pointer i32.const 5200 i32.const 5232 - local.get $1 + local.get $4 i32.const 0 i32.lt_s select - local.tee $1 + local.tee $3 i32.store $0 offset=24 global.get $~lib/memory/__stack_pointer i32.const 5152 @@ -3981,7 +3990,7 @@ i32.store $0 offset=28 i32.const 5152 i32.const 1 - local.get $3 + local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer i32.const 5152 @@ -3995,7 +4004,7 @@ i32.store $0 offset=28 i32.const 5152 i32.const 3 - local.get $1 + local.get $3 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer i32.const 5152 @@ -4199,12 +4208,10 @@ i32.const 3 i32.lt_s i32.sub - local.set $6 - i32.const 7 + local.tee $6 i32.const 0 - local.get $0 - i32.load $0 offset=8 - local.tee $7 + i32.lt_s + local.set $7 local.get $5 i32.const 1579 i32.add @@ -4213,10 +4220,7 @@ local.get $6 i32.const 3 i32.const 0 - local.get $6 - i32.const 0 - i32.lt_s - local.tee $8 + local.get $7 select i32.sub i32.const 4 @@ -4224,7 +4228,7 @@ local.get $6 i32.const 99 i32.const 0 - local.get $8 + local.get $7 select i32.sub i32.const 100 @@ -4233,7 +4237,7 @@ local.get $6 i32.const 399 i32.const 0 - local.get $8 + local.get $7 select i32.sub i32.const 400 @@ -4241,24 +4245,21 @@ i32.add i32.add i32.add + local.get $0 + i32.load $0 offset=8 + local.tee $6 i32.add i32.const 7 i32.rem_s - local.tee $6 - i32.const 0 - i32.lt_s - select - local.get $6 - i32.add - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer local.get $2 i32.const 31 i32.shr_s local.tee $8 local.get $2 - local.get $8 i32.add + local.get $8 i32.xor i32.const 4 call $~lib/date/stringify @@ -4277,7 +4278,14 @@ i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer local.get $3 - local.get $6 + i32.const 7 + i32.const 0 + local.get $7 + i32.const 0 + i32.lt_s + select + local.get $7 + i32.add i32.const 2 i32.shl i32.add @@ -4285,23 +4293,23 @@ local.tee $3 i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 i32.const 2 call $~lib/date/stringify local.tee $5 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer - i64.const 86400000 - i64.const 0 local.get $0 i64.load $0 offset=16 i64.const 86400000 i64.rem_s local.tee $1 + i64.const 86400000 + i64.const 0 + local.get $1 i64.const 0 i64.lt_s select - local.get $1 i64.add i32.wrap_i64 i32.const 3600000 @@ -4311,17 +4319,17 @@ local.tee $6 i32.store $0 offset=24 global.get $~lib/memory/__stack_pointer - i64.const 3600000 - i64.const 0 local.get $0 i64.load $0 offset=16 i64.const 3600000 i64.rem_s local.tee $1 + i64.const 3600000 + i64.const 0 + local.get $1 i64.const 0 i64.lt_s select - local.get $1 i64.add i32.wrap_i64 i32.const 60000 @@ -4331,17 +4339,17 @@ local.tee $7 i32.store $0 offset=28 global.get $~lib/memory/__stack_pointer - i64.const 60000 - i64.const 0 local.get $0 i64.load $0 offset=16 i64.const 60000 i64.rem_s local.tee $1 + i64.const 60000 + i64.const 0 + local.get $1 i64.const 0 i64.lt_s select - local.get $1 i64.add i32.wrap_i64 i32.const 1000 @@ -4536,7 +4544,7 @@ local.get $5 i32.gt_s select - local.tee $2 + local.tee $1 call $~lib/rt/__newArray local.tee $3 i32.store $0 offset=8 @@ -4544,11 +4552,11 @@ i32.load $0 offset=4 local.set $4 i32.const 0 - local.set $1 + local.set $2 loop $for-loop|0 local.get $1 local.get $2 - i32.lt_s + i32.gt_s if global.get $~lib/memory/__stack_pointer i32.const 2 @@ -4558,14 +4566,14 @@ i32.store $0 offset=12 local.get $5 local.get $0 - local.get $1 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_u $0 i32.store16 $0 local.get $4 - local.get $1 + local.get $2 i32.const 2 i32.shl i32.add @@ -4578,10 +4586,10 @@ i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end diff --git a/tests/compiler/std/hash.debug.wat b/tests/compiler/std/hash.debug.wat index f0a2bc8bb7..9b57179838 100644 --- a/tests/compiler/std/hash.debug.wat +++ b/tests/compiler/std/hash.debug.wat @@ -37,6 +37,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/hash/HASH<~lib/string/String|null> (type $i32_=>_i32) (param $key i32) (result i32) (local $key|1 i32) @@ -109,65 +110,77 @@ local.get $end i32.le_u if - local.get $s1 - local.set $h|10 - local.get $pos - i32.load $0 - local.set $key|11 - local.get $h|10 - local.get $key|11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul + block $~lib/util/hash/mix|inlined.0 (result i32) + local.get $s1 + local.set $h|10 + local.get $pos + i32.load $0 + local.set $key|11 + local.get $h|10 + local.get $key|11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.0 + end local.set $s1 - local.get $s2 - local.set $h|12 - local.get $pos - i32.load $0 offset=4 - local.set $key|13 - local.get $h|12 - local.get $key|13 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul + block $~lib/util/hash/mix|inlined.1 (result i32) + local.get $s2 + local.set $h|12 + local.get $pos + i32.load $0 offset=4 + local.set $key|13 + local.get $h|12 + local.get $key|13 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.1 + end local.set $s2 - local.get $s3 - local.set $h|14 - local.get $pos - i32.load $0 offset=8 - local.set $key|15 - local.get $h|14 - local.get $key|15 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul + block $~lib/util/hash/mix|inlined.2 (result i32) + local.get $s3 + local.set $h|14 + local.get $pos + i32.load $0 offset=8 + local.set $key|15 + local.get $h|14 + local.get $key|15 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.2 + end local.set $s3 - local.get $s4 - local.set $h|16 - local.get $pos - i32.load $0 offset=12 - local.set $key|17 - local.get $h|16 - local.get $key|17 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul + block $~lib/util/hash/mix|inlined.3 (result i32) + local.get $s4 + local.set $h|16 + local.get $pos + i32.load $0 offset=12 + local.set $key|17 + local.get $h|16 + local.get $key|17 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.3 + end local.set $s4 local.get $pos i32.const 16 @@ -289,11 +302,13 @@ i32.xor local.set $h local.get $h + br $~lib/util/hash/hashStr|inlined.0 end return ) (func $std/hash/check (type $i32_=>_i32) (param $hash i32) (result i32) i32.const 1 + return ) (func $~lib/util/hash/HASH<~lib/string/String> (type $i32_=>_i32) (param $key i32) (result i32) (local $key|1 i32) @@ -366,65 +381,77 @@ local.get $end i32.le_u if - local.get $s1 - local.set $h|10 - local.get $pos - i32.load $0 - local.set $key|11 - local.get $h|10 - local.get $key|11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul + block $~lib/util/hash/mix|inlined.4 (result i32) + local.get $s1 + local.set $h|10 + local.get $pos + i32.load $0 + local.set $key|11 + local.get $h|10 + local.get $key|11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.4 + end local.set $s1 - local.get $s2 - local.set $h|12 - local.get $pos - i32.load $0 offset=4 - local.set $key|13 - local.get $h|12 - local.get $key|13 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul + block $~lib/util/hash/mix|inlined.5 (result i32) + local.get $s2 + local.set $h|12 + local.get $pos + i32.load $0 offset=4 + local.set $key|13 + local.get $h|12 + local.get $key|13 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.5 + end local.set $s2 - local.get $s3 - local.set $h|14 - local.get $pos - i32.load $0 offset=8 - local.set $key|15 - local.get $h|14 - local.get $key|15 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul + block $~lib/util/hash/mix|inlined.6 (result i32) + local.get $s3 + local.set $h|14 + local.get $pos + i32.load $0 offset=8 + local.set $key|15 + local.get $h|14 + local.get $key|15 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.6 + end local.set $s3 - local.get $s4 - local.set $h|16 - local.get $pos - i32.load $0 offset=12 - local.set $key|17 - local.get $h|16 - local.get $key|17 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul + block $~lib/util/hash/mix|inlined.7 (result i32) + local.get $s4 + local.set $h|16 + local.get $pos + i32.load $0 offset=12 + local.set $key|17 + local.get $h|16 + local.get $key|17 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.7 + end local.set $s4 local.get $pos i32.const 16 @@ -546,6 +573,7 @@ i32.xor local.set $h local.get $h + br $~lib/util/hash/hashStr|inlined.1 end return ) @@ -563,56 +591,59 @@ i32.const 4 i32.eq drop - local.get $key - i32.reinterpret_f32 - local.set $key|1 - i32.const 4 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.0 (result i32) + local.get $key + i32.reinterpret_f32 + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.0 + end return ) (func $~lib/util/hash/HASH (type $f64_=>_i32) (param $key f64) (result i32) @@ -632,70 +663,73 @@ i32.const 8 i32.eq drop - local.get $key - i64.reinterpret_f64 - local.set $key|1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash64|inlined.0 (result i32) + local.get $key + i64.reinterpret_f64 + local.set $key|1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash64|inlined.0 + end return ) (func $~start (type $none_=>_none) diff --git a/tests/compiler/std/map.debug.wat b/tests/compiler/std/map.debug.wat index 3d75520569..33aa518396 100644 --- a/tests/compiler/std/map.debug.wat +++ b/tests/compiler/std/map.debug.wat @@ -90,6 +90,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -102,12 +103,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -265,6 +268,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -284,6 +288,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -401,6 +406,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -576,22 +582,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -616,16 +625,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -721,18 +733,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -756,18 +771,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -777,12 +795,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -930,22 +951,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -990,16 +1014,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1054,10 +1081,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1173,6 +1203,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1355,6 +1386,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1589,6 +1621,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1667,6 +1700,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1682,6 +1716,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1772,16 +1807,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1814,16 +1852,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1837,46 +1878,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1913,10 +1961,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2036,30 +2087,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2130,6 +2187,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2142,6 +2200,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2204,6 +2263,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2325,56 +2385,59 @@ i32.const 4 i32.le_u drop - local.get $key - i32.extend8_s - local.set $key|1 - i32.const 1 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.0 (result i32) + local.get $key + i32.extend8_s + local.set $key|1 + i32.const 1 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.0 + end return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -2441,6 +2504,7 @@ end end i32.const 0 + return ) (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) local.get $this @@ -2450,6 +2514,7 @@ call $~lib/map/Map#find i32.const 0 i32.ne + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -2528,7 +2593,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -2539,7 +2607,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -2589,12 +2660,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -2641,10 +2718,12 @@ end local.get $entry call $~lib/map/MapEntry#get:value + return ) (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -2742,6 +2821,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) (local $oldCapacity i32) @@ -2982,6 +3062,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -3008,6 +3089,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -3038,6 +3120,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -3103,6 +3186,7 @@ end end i32.const 0 + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -3181,7 +3265,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -3192,7 +3279,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -3242,12 +3332,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -3288,55 +3384,58 @@ i32.const 4 i32.le_u drop - local.get $key - local.set $key|1 - i32.const 4 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.1 (result i32) + local.get $key + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.1 + end return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -3401,6 +3500,7 @@ end end i32.const 0 + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -3479,7 +3579,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -3490,7 +3593,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -3540,12 +3646,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -3575,10 +3687,12 @@ (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -3646,6 +3760,7 @@ call $~lib/map/Map#rehash end i32.const 1 + return ) (func $std/map/testNumeric (type $none_=>_none) (local $map i32) @@ -4168,57 +4283,60 @@ i32.const 4 i32.le_u drop - local.get $key - i32.const 255 - i32.and - local.set $key|1 - i32.const 1 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.2 (result i32) + local.get $key + i32.const 255 + i32.and + local.set $key|1 + i32.const 1 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.2 + end return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -4287,6 +4405,7 @@ end end i32.const 0 + return ) (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) local.get $this @@ -4296,6 +4415,7 @@ call $~lib/map/Map#find i32.const 0 i32.ne + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -4374,7 +4494,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -4385,7 +4508,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -4435,12 +4561,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -4487,10 +4619,12 @@ end local.get $entry call $~lib/map/MapEntry#get:value + return ) (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -4587,6 +4721,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -4613,6 +4748,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -4680,6 +4816,7 @@ end end i32.const 0 + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -4758,7 +4895,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -4769,7 +4909,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -4819,12 +4962,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -4854,6 +5003,7 @@ (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -4921,6 +5071,7 @@ call $~lib/map/Map#rehash end i32.const 1 + return ) (func $std/map/testNumeric (type $none_=>_none) (local $map i32) @@ -5443,56 +5594,59 @@ i32.const 4 i32.le_u drop - local.get $key - i32.extend16_s - local.set $key|1 - i32.const 2 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.3 (result i32) + local.get $key + i32.extend16_s + local.set $key|1 + i32.const 2 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.3 + end return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -5559,6 +5713,7 @@ end end i32.const 0 + return ) (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) local.get $this @@ -5568,6 +5723,7 @@ call $~lib/map/Map#find i32.const 0 i32.ne + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -5646,7 +5802,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -5657,7 +5816,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -5707,12 +5869,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -5759,10 +5927,12 @@ end local.get $entry call $~lib/map/MapEntry#get:value + return ) (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -5859,6 +6029,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -5885,6 +6056,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -5950,6 +6122,7 @@ end end i32.const 0 + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -6028,7 +6201,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -6039,7 +6215,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -6089,12 +6268,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -6124,6 +6309,7 @@ (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -6191,6 +6377,7 @@ call $~lib/map/Map#rehash end i32.const 1 + return ) (func $std/map/testNumeric (type $none_=>_none) (local $map i32) @@ -6713,57 +6900,60 @@ i32.const 4 i32.le_u drop - local.get $key - i32.const 65535 - i32.and - local.set $key|1 - i32.const 2 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.4 (result i32) + local.get $key + i32.const 65535 + i32.and + local.set $key|1 + i32.const 2 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.4 + end return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -6832,6 +7022,7 @@ end end i32.const 0 + return ) (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) local.get $this @@ -6841,6 +7032,7 @@ call $~lib/map/Map#find i32.const 0 i32.ne + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -6919,7 +7111,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -6930,7 +7125,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -6980,12 +7178,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -7032,10 +7236,12 @@ end local.get $entry call $~lib/map/MapEntry#get:value + return ) (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -7132,6 +7338,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -7158,6 +7365,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -7225,6 +7433,7 @@ end end i32.const 0 + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -7303,7 +7512,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -7314,7 +7526,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -7364,12 +7579,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -7399,6 +7620,7 @@ (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -7466,6 +7688,7 @@ call $~lib/map/Map#rehash end i32.const 1 + return ) (func $std/map/testNumeric (type $none_=>_none) (local $map i32) @@ -7944,6 +8167,7 @@ call $~lib/map/Map#find i32.const 0 i32.ne + return ) (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -7965,10 +8189,12 @@ end local.get $entry call $~lib/map/MapEntry#get:value + return ) (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -8036,6 +8262,7 @@ call $~lib/map/Map#rehash end i32.const 1 + return ) (func $std/map/testNumeric (type $none_=>_none) (local $map i32) @@ -8558,55 +8785,58 @@ i32.const 4 i32.le_u drop - local.get $key - local.set $key|1 - i32.const 4 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.5 (result i32) + local.get $key + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.5 + end return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -8671,6 +8901,7 @@ end end i32.const 0 + return ) (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) local.get $this @@ -8680,6 +8911,7 @@ call $~lib/map/Map#find i32.const 0 i32.ne + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -8758,7 +8990,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -8769,7 +9004,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -8819,12 +9057,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -8871,10 +9115,12 @@ end local.get $entry call $~lib/map/MapEntry#get:value + return ) (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -8971,6 +9217,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -8997,6 +9244,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -9060,6 +9308,7 @@ end end i32.const 0 + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -9138,7 +9387,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -9149,7 +9401,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -9199,12 +9454,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -9234,6 +9495,7 @@ (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -9301,6 +9563,7 @@ call $~lib/map/Map#rehash end i32.const 1 + return ) (func $std/map/testNumeric (type $none_=>_none) (local $map i32) @@ -9826,69 +10089,72 @@ i32.const 8 i32.eq drop - local.get $key - local.set $key|1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash64|inlined.0 (result i32) + local.get $key + local.set $key|1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash64|inlined.0 + end return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -9953,6 +10219,7 @@ end end i32.const 0 + return ) (func $~lib/map/Map#has (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) local.get $this @@ -9962,6 +10229,7 @@ call $~lib/map/Map#find i32.const 0 i32.ne + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -10040,7 +10308,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -10051,7 +10322,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -10101,12 +10375,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -10153,10 +10433,12 @@ end local.get $entry call $~lib/map/MapEntry#get:value + return ) (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -10253,6 +10535,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) (local $value i64) @@ -10279,6 +10562,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -10342,6 +10626,7 @@ end end i32.const 0 + return ) (func $~lib/map/MapEntry#set:value (type $i32_i64_=>_none) (param $this i32) (param $value i64) local.get $this @@ -10420,7 +10705,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -10431,7 +10719,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -10481,12 +10772,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -10516,6 +10813,7 @@ (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/map/Map#delete (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) (local $entry i32) @@ -10583,6 +10881,7 @@ call $~lib/map/Map#rehash end i32.const 1 + return ) (func $std/map/testNumeric (type $none_=>_none) (local $map i32) @@ -11116,69 +11415,72 @@ i32.const 8 i32.eq drop - local.get $key - local.set $key|1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash64|inlined.1 (result i32) + local.get $key + local.set $key|1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash64|inlined.1 + end return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -11243,6 +11545,7 @@ end end i32.const 0 + return ) (func $~lib/map/Map#has (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) local.get $this @@ -11252,6 +11555,7 @@ call $~lib/map/Map#find i32.const 0 i32.ne + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -11330,7 +11634,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -11341,7 +11648,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -11391,12 +11701,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -11443,10 +11759,12 @@ end local.get $entry call $~lib/map/MapEntry#get:value + return ) (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -11543,6 +11861,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) (local $value i64) @@ -11569,6 +11888,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -11632,6 +11952,7 @@ end end i32.const 0 + return ) (func $~lib/map/MapEntry#set:value (type $i32_i64_=>_none) (param $this i32) (param $value i64) local.get $this @@ -11710,7 +12031,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -11721,7 +12045,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -11771,12 +12098,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -11806,6 +12139,7 @@ (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/map/Map#delete (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) (local $entry i32) @@ -11873,6 +12207,7 @@ call $~lib/map/Map#rehash end i32.const 1 + return ) (func $std/map/testNumeric (type $none_=>_none) (local $map i32) @@ -12403,56 +12738,59 @@ i32.const 4 i32.eq drop - local.get $key - i32.reinterpret_f32 - local.set $key|1 - i32.const 4 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.6 (result i32) + local.get $key + i32.reinterpret_f32 + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.6 + end return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -12517,6 +12855,7 @@ end end i32.const 0 + return ) (func $~lib/map/Map#has (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) local.get $this @@ -12526,6 +12865,7 @@ call $~lib/map/Map#find i32.const 0 i32.ne + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -12604,7 +12944,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -12615,7 +12958,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -12665,12 +13011,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -12717,10 +13069,12 @@ end local.get $entry call $~lib/map/MapEntry#get:value + return ) (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -12817,6 +13171,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) (local $value f32) @@ -12843,6 +13198,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -12906,6 +13262,7 @@ end end i32.const 0 + return ) (func $~lib/map/MapEntry#set:value (type $i32_f32_=>_none) (param $this i32) (param $value f32) local.get $this @@ -12984,7 +13341,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -12995,7 +13355,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -13045,12 +13408,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -13080,6 +13449,7 @@ (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/map/Map#delete (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) (local $entry i32) @@ -13147,6 +13517,7 @@ call $~lib/map/Map#rehash end i32.const 1 + return ) (func $std/map/testNumeric (type $none_=>_none) (local $map i32) @@ -13680,70 +14051,73 @@ i32.const 8 i32.eq drop - local.get $key - i64.reinterpret_f64 - local.set $key|1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash64|inlined.2 (result i32) + local.get $key + i64.reinterpret_f64 + local.set $key|1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash64|inlined.2 + end return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -13808,6 +14182,7 @@ end end i32.const 0 + return ) (func $~lib/map/Map#has (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) local.get $this @@ -13817,6 +14192,7 @@ call $~lib/map/Map#find i32.const 0 i32.ne + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -13895,7 +14271,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -13906,7 +14285,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -13956,12 +14338,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -14008,10 +14396,12 @@ end local.get $entry call $~lib/map/MapEntry#get:value + return ) (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -14108,6 +14498,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) (local $value f64) @@ -14134,6 +14525,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -14197,6 +14589,7 @@ end end i32.const 0 + return ) (func $~lib/map/MapEntry#set:value (type $i32_f64_=>_none) (param $this i32) (param $value f64) local.get $this @@ -14275,7 +14668,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -14286,7 +14682,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -14336,12 +14735,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -14371,6 +14776,7 @@ (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/map/Map#get:entriesCount + return ) (func $~lib/map/Map#delete (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) (local $entry i32) @@ -14438,6 +14844,7 @@ call $~lib/map/Map#rehash end i32.const 1 + return ) (func $std/map/testNumeric (type $none_=>_none) (local $map i32) @@ -15916,7 +16323,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -15982,7 +16392,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16048,7 +16461,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16104,7 +16520,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16167,7 +16586,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16233,7 +16655,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16289,7 +16714,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16352,7 +16780,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16418,7 +16849,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16474,7 +16908,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16537,7 +16974,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16603,7 +17043,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16659,7 +17102,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16712,7 +17158,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16775,7 +17224,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16841,7 +17293,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16897,7 +17352,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -16960,7 +17418,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -17026,7 +17487,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -17082,7 +17546,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.8 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -17145,7 +17612,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -17211,7 +17681,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -17267,7 +17740,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.8 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -17330,7 +17806,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -17396,7 +17875,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -17452,7 +17934,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -17515,7 +18000,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -17581,7 +18069,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -17637,7 +18128,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.8 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -17699,6 +18193,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -17774,7 +18269,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -17819,6 +18317,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -17950,7 +18449,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -17988,6 +18490,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -18119,7 +18622,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end i32.mul i32.add local.set $entry @@ -18157,6 +18663,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -18232,7 +18739,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -18277,6 +18787,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -18352,7 +18863,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -18397,6 +18911,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -18472,7 +18987,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -18517,6 +19035,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -18648,7 +19167,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -18686,6 +19208,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -18727,7 +19250,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end i32.mul i32.add local.set $entry @@ -18765,6 +19291,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -18840,7 +19367,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -18885,6 +19415,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -18960,7 +19491,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -19005,6 +19539,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -19136,7 +19671,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -19174,6 +19712,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -19215,7 +19754,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end i32.mul i32.add local.set $entry @@ -19253,6 +19795,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -19328,7 +19871,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -19373,6 +19919,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -19448,7 +19995,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -19493,6 +20043,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -19624,7 +20175,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -19662,6 +20216,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -19703,7 +20258,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end i32.mul i32.add local.set $entry @@ -19741,6 +20299,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -19816,7 +20375,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 8 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -19861,6 +20423,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -19902,7 +20465,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -19940,6 +20506,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -19981,7 +20548,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end i32.mul i32.add local.set $entry @@ -20019,6 +20589,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -20094,7 +20665,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -20139,6 +20713,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -20270,7 +20845,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -20308,6 +20886,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -20349,7 +20928,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end i32.mul i32.add local.set $entry @@ -20387,6 +20969,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -20462,7 +21045,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -20507,6 +21093,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $value i32) (result i32) (local $hashCode i32) @@ -20582,7 +21169,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -20627,6 +21217,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -20758,7 +21349,10 @@ if local.get $start local.get $i - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -20796,6 +21390,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -20837,7 +21432,10 @@ if local.get $start local.get $i - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.7 + end i32.mul i32.add local.set $entry @@ -20875,6 +21473,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i64_i64_=>_i32) (param $this i32) (param $key i64) (param $value i64) (result i32) (local $hashCode i32) @@ -20950,7 +21549,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -20995,6 +21597,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $value i32) (result i32) (local $hashCode i32) @@ -21070,7 +21673,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -21115,6 +21721,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -21246,7 +21853,10 @@ if local.get $start local.get $i - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -21284,6 +21894,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -21325,7 +21936,10 @@ if local.get $start local.get $i - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.7 + end i32.mul i32.add local.set $entry @@ -21363,6 +21977,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i64_i64_=>_i32) (param $this i32) (param $key i64) (param $value i64) (result i32) (local $hashCode i32) @@ -21438,7 +22053,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -21483,6 +22101,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_f32_i32_=>_i32) (param $this i32) (param $key f32) (param $value i32) (result i32) (local $hashCode i32) @@ -21558,7 +22177,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -21603,6 +22225,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -21734,7 +22357,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -21772,6 +22398,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -21813,7 +22440,10 @@ if local.get $start local.get $i - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end i32.mul i32.add local.set $entry @@ -21851,6 +22481,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_f32_f32_=>_i32) (param $this i32) (param $key f32) (param $value f32) (result i32) (local $hashCode i32) @@ -21926,7 +22557,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -21971,6 +22605,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_f64_i32_=>_i32) (param $this i32) (param $key f64) (param $value i32) (result i32) (local $hashCode i32) @@ -22046,7 +22681,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -22091,6 +22729,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -22222,7 +22861,10 @@ if local.get $start local.get $i - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -22260,6 +22902,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) @@ -22301,7 +22944,10 @@ if local.get $start local.get $i - i32.const 16 + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.7 + end i32.mul i32.add local.set $entry @@ -22339,6 +22985,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_f64_f64_=>_i32) (param $this i32) (param $key f64) (param $value f64) (result i32) (local $hashCode i32) @@ -22414,7 +23061,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 24 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -22459,5 +23109,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) ) diff --git a/tests/compiler/std/map.release.wat b/tests/compiler/std/map.release.wat index a224639a53..c04daa81ac 100644 --- a/tests/compiler/std/map.release.wat +++ b/tests/compiler/std/map.release.wat @@ -1559,7 +1559,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -1567,7 +1567,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor @@ -1575,13 +1575,13 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $7 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 12 i32.mul i32.add - local.set $4 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 @@ -1589,23 +1589,23 @@ local.get $7 i32.ne if - local.get $7 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $7 + local.get $4 i32.load8_s $0 local.tee $8 i32.store8 $0 local.get $2 - local.get $7 + local.get $4 i32.load $0 offset=4 i32.store $0 offset=4 local.get $2 - local.get $6 + local.get $5 local.get $1 local.get $8 i32.extend8_s @@ -1618,23 +1618,23 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 @@ -1651,20 +1651,20 @@ i32.add local.set $2 end - local.get $7 + local.get $4 i32.const 12 i32.add - local.set $7 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $6 + local.get $5 i32.store $0 - local.get $6 + local.get $5 if local.get $0 - local.get $6 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -1680,7 +1680,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $5 + local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 @@ -1922,7 +1922,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -1930,7 +1930,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor @@ -1938,13 +1938,13 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $7 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 12 i32.mul i32.add - local.set $4 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 @@ -1952,23 +1952,23 @@ local.get $7 i32.ne if - local.get $7 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $7 + local.get $4 i32.load $0 local.tee $8 i32.store $0 local.get $2 - local.get $7 + local.get $4 i32.load $0 offset=4 i32.store $0 offset=4 local.get $2 - local.get $6 + local.get $5 local.get $1 local.get $8 i32.const -1028477379 @@ -1980,23 +1980,23 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 @@ -2013,20 +2013,20 @@ i32.add local.set $2 end - local.get $7 + local.get $4 i32.const 12 i32.add - local.set $7 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $6 + local.get $5 i32.store $0 - local.get $6 + local.get $5 if local.get $0 - local.get $6 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -2042,7 +2042,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $5 + local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 @@ -2226,7 +2226,7 @@ i32.const 24 i32.const 4 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $3 i32.store $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor @@ -2234,16 +2234,16 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=4 - local.get $12 + local.get $3 local.get $2 i32.store $0 local.get $2 if - local.get $12 + local.get $3 local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $3 i32.const 3 i32.store $0 offset=4 i32.const 48 @@ -2252,22 +2252,22 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=4 - local.get $12 + local.get $3 local.get $2 i32.store $0 offset=8 local.get $2 if - local.get $12 + local.get $3 local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $3 i32.const 4 i32.store $0 offset=12 - local.get $12 + local.get $3 i32.const 0 i32.store $0 offset=16 - local.get $12 + local.get $3 i32.const 0 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer @@ -2275,16 +2275,16 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $12 + local.get $3 i32.store $0 loop $for-loop|0 local.get $0 i32.const 100 i32.lt_s if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend8_s @@ -2360,15 +2360,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend8_s @@ -2445,7 +2445,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -2467,7 +2467,7 @@ br $for-loop|0 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 100 i32.ne @@ -2486,9 +2486,9 @@ i32.const 100 i32.lt_s if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend8_s @@ -2565,7 +2565,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -2580,15 +2580,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 20 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend8_s @@ -2665,7 +2665,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -2687,7 +2687,7 @@ br $for-loop|1 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 100 i32.ne @@ -2712,12 +2712,12 @@ local.tee $0 i32.const 0 i32.store $0 - local.get $12 + local.get $3 i32.load $0 offset=8 - local.set $3 - local.get $12 - i32.load $0 offset=16 local.set $4 + local.get $3 + i32.load $0 offset=16 + local.set $5 local.get $0 i32.const 8 i32.sub @@ -2748,7 +2748,7 @@ local.get $2 i32.const 0 i32.store $0 offset=12 - local.get $4 + local.get $5 i32.const 1073741820 i32.gt_u if @@ -2761,33 +2761,33 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const 8 i32.le_u select - local.tee $5 + local.tee $6 i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $7 i32.store $0 offset=4 local.get $2 - local.get $6 + local.get $7 i32.store $0 - local.get $6 + local.get $7 if local.get $2 - local.get $6 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $2 - local.get $6 + local.get $7 i32.store $0 offset=4 local.get $2 - local.get $5 + local.get $6 i32.store $0 offset=8 local.get $2 - local.get $4 + local.get $5 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -2799,16 +2799,16 @@ i32.const 0 local.set $0 loop $for-loop|00 - local.get $4 - local.get $10 + local.get $5 + local.get $12 i32.gt_s if - local.get $3 - local.get $10 + local.get $4 + local.get $12 i32.const 12 i32.mul i32.add - local.tee $5 + local.tee $6 i32.load $0 offset=8 i32.const 1 i32.and @@ -2818,7 +2818,7 @@ local.get $2 i32.load $0 offset=4 i32.add - local.get $5 + local.get $6 i32.load8_s $0 i32.store8 $0 local.get $0 @@ -2826,10 +2826,10 @@ i32.add local.set $0 end - local.get $10 + local.get $12 i32.const 1 i32.add - local.set $10 + local.set $12 br $for-loop|00 end end @@ -2848,9 +2848,9 @@ local.get $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $3 call $~lib/map/Map#values - local.tee $6 + local.tee $8 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer local.set $0 @@ -2923,17 +2923,17 @@ i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $8 + local.tee $10 i32.store $0 offset=16 i32.const 0 - local.set $10 + local.set $12 loop $for-loop|2 - local.get $10 + local.get $12 local.get $2 i32.load $0 offset=12 i32.lt_s if - local.get $10 + local.get $12 local.get $2 i32.load $0 offset=12 i32.ge_u @@ -2945,19 +2945,19 @@ call $~lib/builtins/abort unreachable end - local.get $10 + local.get $12 local.get $2 i32.load $0 offset=4 i32.add i32.load8_s $0 local.set $14 - local.get $6 - local.get $10 - call $~lib/array/Array#__get - local.set $7 + local.get $8 local.get $12 + call $~lib/array/Array#__get + local.set $9 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $14 i32.extend8_s @@ -2994,8 +2994,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find10 - loop $while-continue|011 + block $__inlined_func$~lib/map/Map#find14 + loop $while-continue|015 local.get $0 if local.get $0 @@ -3013,12 +3013,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find10 + br_if $__inlined_func$~lib/map/Map#find14 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|011 + br $while-continue|015 end end i32.const 0 @@ -3034,11 +3034,11 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 - local.get $7 + local.get $9 i32.const 20 i32.sub local.tee $1 @@ -3076,13 +3076,13 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find13 - loop $while-continue|014 + block $__inlined_func$~lib/map/Map#find17 + loop $while-continue|018 local.get $0 if local.get $0 i32.load $0 offset=8 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) @@ -3095,12 +3095,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find13 - local.get $3 + br_if $__inlined_func$~lib/map/Map#find17 + local.get $4 i32.const -2 i32.and local.set $0 - br $while-continue|014 + br $while-continue|018 end end i32.const 0 @@ -3158,7 +3158,7 @@ i32.shr_u local.get $0 i32.xor - local.tee $5 + local.tee $7 local.get $13 i32.load $0 offset=4 i32.and @@ -3168,7 +3168,7 @@ i32.load $0 local.set $0 block $__inlined_func$~lib/map/Map#find - loop $while-continue|015 + loop $while-continue|019 local.get $0 if local.get $0 @@ -3191,7 +3191,7 @@ i32.const -2 i32.and local.set $0 - br $while-continue|015 + br $while-continue|019 end end i32.const 0 @@ -3229,7 +3229,7 @@ i32.const 1 i32.or end - local.set $15 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3243,14 +3243,14 @@ i64.const 0 i64.store $0 local.get $0 - local.get $15 + local.get $4 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $9 + local.tee $15 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3258,7 +3258,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $4 + local.tee $6 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor @@ -3272,11 +3272,11 @@ i32.const 3 i32.shl i32.add - local.set $3 + local.set $5 local.get $1 local.set $0 loop $while-continue|00 - local.get $3 + local.get $5 local.get $11 i32.ne if @@ -3296,8 +3296,8 @@ i32.load8_s $0 offset=1 i32.store8 $0 offset=1 local.get $0 - local.get $9 local.get $15 + local.get $4 local.get $16 i32.extend8_s i32.const -1028477379 @@ -3350,16 +3350,16 @@ end end local.get $13 - local.get $9 + local.get $15 i32.store $0 - local.get $9 + local.get $15 if local.get $13 - local.get $9 + local.get $15 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $13 - local.get $15 + local.get $4 i32.store $0 offset=4 local.get $13 local.get $1 @@ -3371,7 +3371,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $13 - local.get $4 + local.get $6 i32.store $0 offset=12 local.get $13 local.get $13 @@ -3414,7 +3414,7 @@ local.get $0 local.get $13 i32.load $0 - local.get $5 + local.get $7 local.get $13 i32.load $0 offset=4 i32.and @@ -3432,17 +3432,17 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $7 + local.get $10 + local.get $9 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $10 + local.get $12 i32.const 1 i32.add - local.set $10 + local.set $12 br $for-loop|2 end end @@ -3458,7 +3458,7 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $10 i32.load $0 offset=20 i32.const 100 i32.ne @@ -3477,9 +3477,9 @@ i32.const 50 i32.lt_s if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend8_s @@ -3516,8 +3516,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find17 - loop $while-continue|018 + block $__inlined_func$~lib/map/Map#find23 + loop $while-continue|024 local.get $1 if local.get $1 @@ -3535,12 +3535,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find17 + br_if $__inlined_func$~lib/map/Map#find23 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|018 + br $while-continue|024 end end i32.const 0 @@ -3556,7 +3556,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -3571,12 +3571,12 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#delete - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend8_s @@ -3613,8 +3613,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find20 - loop $while-continue|021 + block $__inlined_func$~lib/map/Map#find26 + loop $while-continue|027 local.get $1 if local.get $1 @@ -3632,12 +3632,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find20 + br_if $__inlined_func$~lib/map/Map#find26 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|021 + br $while-continue|027 end end i32.const 0 @@ -3659,7 +3659,7 @@ br $for-loop|3 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 50 i32.ne @@ -3678,9 +3678,9 @@ i32.const 50 i32.lt_s if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend8_s @@ -3717,8 +3717,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find23 - loop $while-continue|024 + block $__inlined_func$~lib/map/Map#find29 + loop $while-continue|030 local.get $1 if local.get $1 @@ -3736,12 +3736,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find23 + br_if $__inlined_func$~lib/map/Map#find29 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|024 + br $while-continue|030 end end i32.const 0 @@ -3756,15 +3756,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend8_s @@ -3801,8 +3801,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find26 - loop $while-continue|027 + block $__inlined_func$~lib/map/Map#find32 + loop $while-continue|033 local.get $1 if local.get $1 @@ -3820,12 +3820,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find26 + br_if $__inlined_func$~lib/map/Map#find32 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|027 + br $while-continue|033 end end i32.const 0 @@ -3841,12 +3841,12 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#delete - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend8_s @@ -3883,8 +3883,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find29 - loop $while-continue|030 + block $__inlined_func$~lib/map/Map#find35 + loop $while-continue|036 local.get $1 if local.get $1 @@ -3902,12 +3902,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find29 + br_if $__inlined_func$~lib/map/Map#find35 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|030 + br $while-continue|036 end end i32.const 0 @@ -3929,7 +3929,7 @@ br $for-loop|4 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 50 i32.ne @@ -3941,9 +3941,9 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 call $~lib/map/Map#clear - local.get $12 + local.get $3 i32.load $0 offset=20 if i32.const 0 @@ -4001,7 +4001,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -4009,7 +4009,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor @@ -4017,13 +4017,13 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $7 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 12 i32.mul i32.add - local.set $4 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 @@ -4031,23 +4031,23 @@ local.get $7 i32.ne if - local.get $7 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $7 + local.get $4 i32.load8_u $0 local.tee $8 i32.store8 $0 local.get $2 - local.get $7 + local.get $4 i32.load $0 offset=4 i32.store $0 offset=4 local.get $2 - local.get $6 + local.get $5 local.get $1 local.get $8 i32.const -1028477379 @@ -4059,23 +4059,23 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 @@ -4092,20 +4092,20 @@ i32.add local.set $2 end - local.get $7 + local.get $4 i32.const 12 i32.add - local.set $7 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $6 + local.get $5 i32.store $0 - local.get $6 + local.get $5 if local.get $0 - local.get $6 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -4121,7 +4121,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $5 + local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 @@ -4391,7 +4391,7 @@ i32.const 24 i32.const 9 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $3 i32.store $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor @@ -4399,16 +4399,16 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=4 - local.get $12 + local.get $3 local.get $2 i32.store $0 local.get $2 if - local.get $12 + local.get $3 local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $3 i32.const 3 i32.store $0 offset=4 i32.const 48 @@ -4417,22 +4417,22 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=4 - local.get $12 + local.get $3 local.get $2 i32.store $0 offset=8 local.get $2 if - local.get $12 + local.get $3 local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $3 i32.const 4 i32.store $0 offset=12 - local.get $12 + local.get $3 i32.const 0 i32.store $0 offset=16 - local.get $12 + local.get $3 i32.const 0 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer @@ -4440,16 +4440,16 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $12 + local.get $3 i32.store $0 loop $for-loop|0 local.get $0 i32.const 100 i32.lt_u if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 255 @@ -4526,15 +4526,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 255 @@ -4612,7 +4612,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -4634,7 +4634,7 @@ br $for-loop|0 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 100 i32.ne @@ -4653,9 +4653,9 @@ i32.const 100 i32.lt_u if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 255 @@ -4733,7 +4733,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -4748,15 +4748,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 20 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 255 @@ -4834,7 +4834,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -4856,7 +4856,7 @@ br $for-loop|1 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 100 i32.ne @@ -4881,12 +4881,12 @@ local.tee $0 i32.const 0 i32.store $0 - local.get $12 + local.get $3 i32.load $0 offset=8 - local.set $3 - local.get $12 - i32.load $0 offset=16 local.set $4 + local.get $3 + i32.load $0 offset=16 + local.set $5 local.get $0 i32.const 8 i32.sub @@ -4917,7 +4917,7 @@ local.get $2 i32.const 0 i32.store $0 offset=12 - local.get $4 + local.get $5 i32.const 1073741820 i32.gt_u if @@ -4930,33 +4930,33 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const 8 i32.le_u select - local.tee $5 + local.tee $6 i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $7 i32.store $0 offset=4 local.get $2 - local.get $6 + local.get $7 i32.store $0 - local.get $6 + local.get $7 if local.get $2 - local.get $6 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $2 - local.get $6 + local.get $7 i32.store $0 offset=4 local.get $2 - local.get $5 + local.get $6 i32.store $0 offset=8 local.get $2 - local.get $4 + local.get $5 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -4968,16 +4968,16 @@ i32.const 0 local.set $0 loop $for-loop|00 - local.get $4 - local.get $10 + local.get $5 + local.get $12 i32.gt_s if - local.get $3 - local.get $10 + local.get $4 + local.get $12 i32.const 12 i32.mul i32.add - local.tee $5 + local.tee $6 i32.load $0 offset=8 i32.const 1 i32.and @@ -4987,7 +4987,7 @@ local.get $2 i32.load $0 offset=4 i32.add - local.get $5 + local.get $6 i32.load8_u $0 i32.store8 $0 local.get $0 @@ -4995,10 +4995,10 @@ i32.add local.set $0 end - local.get $10 + local.get $12 i32.const 1 i32.add - local.set $10 + local.set $12 br $for-loop|00 end end @@ -5017,9 +5017,9 @@ local.get $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $3 call $~lib/map/Map#values - local.tee $6 + local.tee $8 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer local.set $0 @@ -5092,17 +5092,17 @@ i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $8 + local.tee $10 i32.store $0 offset=16 i32.const 0 - local.set $10 + local.set $12 loop $for-loop|2 - local.get $10 + local.get $12 local.get $2 i32.load $0 offset=12 i32.lt_s if - local.get $10 + local.get $12 local.get $2 i32.load $0 offset=12 i32.ge_u @@ -5114,19 +5114,19 @@ call $~lib/builtins/abort unreachable end - local.get $10 + local.get $12 local.get $2 i32.load $0 offset=4 i32.add i32.load8_u $0 local.set $14 - local.get $6 - local.get $10 - call $~lib/array/Array#__get - local.set $7 + local.get $8 local.get $12 + call $~lib/array/Array#__get + local.set $9 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $14 i32.const -1028477379 @@ -5162,8 +5162,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find10 - loop $while-continue|011 + block $__inlined_func$~lib/map/Map#find14 + loop $while-continue|015 local.get $0 if local.get $0 @@ -5179,12 +5179,12 @@ local.get $14 i32.eq end - br_if $__inlined_func$~lib/map/Map#find10 + br_if $__inlined_func$~lib/map/Map#find14 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|011 + br $while-continue|015 end end i32.const 0 @@ -5200,11 +5200,11 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 - local.get $7 + local.get $9 i32.const 20 i32.sub local.tee $1 @@ -5243,13 +5243,13 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find13 - loop $while-continue|014 + block $__inlined_func$~lib/map/Map#find17 + loop $while-continue|018 local.get $0 if local.get $0 i32.load $0 offset=8 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) @@ -5262,12 +5262,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find13 - local.get $3 + br_if $__inlined_func$~lib/map/Map#find17 + local.get $4 i32.const -2 i32.and local.set $0 - br $while-continue|014 + br $while-continue|018 end end i32.const 0 @@ -5324,7 +5324,7 @@ i32.shr_u local.get $0 i32.xor - local.tee $5 + local.tee $7 local.get $13 i32.load $0 offset=4 i32.and @@ -5334,7 +5334,7 @@ i32.load $0 local.set $0 block $__inlined_func$~lib/map/Map#find - loop $while-continue|015 + loop $while-continue|019 local.get $0 if local.get $0 @@ -5355,7 +5355,7 @@ i32.const -2 i32.and local.set $0 - br $while-continue|015 + br $while-continue|019 end end i32.const 0 @@ -5393,7 +5393,7 @@ i32.const 1 i32.or end - local.set $15 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -5407,14 +5407,14 @@ i64.const 0 i64.store $0 local.get $0 - local.get $15 + local.get $4 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $9 + local.tee $15 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -5422,7 +5422,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $4 + local.tee $6 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor @@ -5436,11 +5436,11 @@ i32.const 3 i32.shl i32.add - local.set $3 + local.set $5 local.get $1 local.set $0 loop $while-continue|00 - local.get $3 + local.get $5 local.get $11 i32.ne if @@ -5460,8 +5460,8 @@ i32.load8_u $0 offset=1 i32.store8 $0 offset=1 local.get $0 - local.get $9 local.get $15 + local.get $4 local.get $16 i32.const -1028477379 i32.mul @@ -5513,16 +5513,16 @@ end end local.get $13 - local.get $9 + local.get $15 i32.store $0 - local.get $9 + local.get $15 if local.get $13 - local.get $9 + local.get $15 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $13 - local.get $15 + local.get $4 i32.store $0 offset=4 local.get $13 local.get $1 @@ -5534,7 +5534,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $13 - local.get $4 + local.get $6 i32.store $0 offset=12 local.get $13 local.get $13 @@ -5577,7 +5577,7 @@ local.get $0 local.get $13 i32.load $0 - local.get $5 + local.get $7 local.get $13 i32.load $0 offset=4 i32.and @@ -5595,17 +5595,17 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $7 + local.get $10 + local.get $9 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $10 + local.get $12 i32.const 1 i32.add - local.set $10 + local.set $12 br $for-loop|2 end end @@ -5621,7 +5621,7 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $10 i32.load $0 offset=20 i32.const 100 i32.ne @@ -5640,9 +5640,9 @@ i32.const 50 i32.lt_u if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 255 @@ -5680,8 +5680,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find17 - loop $while-continue|018 + block $__inlined_func$~lib/map/Map#find23 + loop $while-continue|024 local.get $1 if local.get $1 @@ -5699,12 +5699,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find17 + br_if $__inlined_func$~lib/map/Map#find23 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|018 + br $while-continue|024 end end i32.const 0 @@ -5720,7 +5720,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -5735,12 +5735,12 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#delete - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 255 @@ -5778,8 +5778,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find20 - loop $while-continue|021 + block $__inlined_func$~lib/map/Map#find26 + loop $while-continue|027 local.get $1 if local.get $1 @@ -5797,12 +5797,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find20 + br_if $__inlined_func$~lib/map/Map#find26 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|021 + br $while-continue|027 end end i32.const 0 @@ -5824,7 +5824,7 @@ br $for-loop|3 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 50 i32.ne @@ -5843,9 +5843,9 @@ i32.const 50 i32.lt_u if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 255 @@ -5883,8 +5883,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find23 - loop $while-continue|024 + block $__inlined_func$~lib/map/Map#find29 + loop $while-continue|030 local.get $1 if local.get $1 @@ -5902,12 +5902,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find23 + br_if $__inlined_func$~lib/map/Map#find29 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|024 + br $while-continue|030 end end i32.const 0 @@ -5922,15 +5922,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 255 @@ -5968,8 +5968,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find26 - loop $while-continue|027 + block $__inlined_func$~lib/map/Map#find32 + loop $while-continue|033 local.get $1 if local.get $1 @@ -5987,12 +5987,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find26 + br_if $__inlined_func$~lib/map/Map#find32 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|027 + br $while-continue|033 end end i32.const 0 @@ -6008,12 +6008,12 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#delete - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 255 @@ -6051,8 +6051,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find29 - loop $while-continue|030 + block $__inlined_func$~lib/map/Map#find35 + loop $while-continue|036 local.get $1 if local.get $1 @@ -6070,12 +6070,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find29 + br_if $__inlined_func$~lib/map/Map#find35 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|030 + br $while-continue|036 end end i32.const 0 @@ -6097,7 +6097,7 @@ br $for-loop|4 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 50 i32.ne @@ -6109,9 +6109,9 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 call $~lib/map/Map#clear - local.get $12 + local.get $3 i32.load $0 offset=20 if i32.const 0 @@ -6169,7 +6169,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -6177,7 +6177,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor @@ -6185,13 +6185,13 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $7 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 12 i32.mul i32.add - local.set $4 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 @@ -6199,23 +6199,23 @@ local.get $7 i32.ne if - local.get $7 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $7 + local.get $4 i32.load16_s $0 local.tee $8 i32.store16 $0 local.get $2 - local.get $7 + local.get $4 i32.load $0 offset=4 i32.store $0 offset=4 local.get $2 - local.get $6 + local.get $5 local.get $1 local.get $8 i32.extend16_s @@ -6228,23 +6228,23 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 @@ -6261,20 +6261,20 @@ i32.add local.set $2 end - local.get $7 + local.get $4 i32.const 12 i32.add - local.set $7 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $6 + local.get $5 i32.store $0 - local.get $6 + local.get $5 if local.get $0 - local.get $6 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -6290,7 +6290,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $5 + local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 @@ -6558,7 +6558,7 @@ i32.const 24 i32.const 12 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $3 i32.store $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor @@ -6566,16 +6566,16 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=4 - local.get $12 + local.get $3 local.get $2 i32.store $0 local.get $2 if - local.get $12 + local.get $3 local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $3 i32.const 3 i32.store $0 offset=4 i32.const 48 @@ -6584,22 +6584,22 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=4 - local.get $12 + local.get $3 local.get $2 i32.store $0 offset=8 local.get $2 if - local.get $12 + local.get $3 local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $3 i32.const 4 i32.store $0 offset=12 - local.get $12 + local.get $3 i32.const 0 i32.store $0 offset=16 - local.get $12 + local.get $3 i32.const 0 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer @@ -6607,16 +6607,16 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $12 + local.get $3 i32.store $0 loop $for-loop|0 local.get $0 i32.const 100 i32.lt_s if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend16_s @@ -6692,15 +6692,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend16_s @@ -6777,7 +6777,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -6799,7 +6799,7 @@ br $for-loop|0 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 100 i32.ne @@ -6818,9 +6818,9 @@ i32.const 100 i32.lt_s if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend16_s @@ -6897,7 +6897,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -6912,15 +6912,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 20 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend16_s @@ -6997,7 +6997,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -7019,7 +7019,7 @@ br $for-loop|1 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 100 i32.ne @@ -7044,12 +7044,12 @@ local.tee $0 i32.const 0 i32.store $0 - local.get $12 + local.get $3 i32.load $0 offset=8 - local.set $3 - local.get $12 - i32.load $0 offset=16 local.set $4 + local.get $3 + i32.load $0 offset=16 + local.set $5 local.get $0 i32.const 8 i32.sub @@ -7080,7 +7080,7 @@ local.get $2 i32.const 0 i32.store $0 offset=12 - local.get $4 + local.get $5 i32.const 536870910 i32.gt_u if @@ -7093,35 +7093,35 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const 8 i32.le_u select i32.const 1 i32.shl - local.tee $5 + local.tee $6 i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $7 i32.store $0 offset=4 local.get $2 - local.get $6 + local.get $7 i32.store $0 - local.get $6 + local.get $7 if local.get $2 - local.get $6 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $2 - local.get $6 + local.get $7 i32.store $0 offset=4 local.get $2 - local.get $5 + local.get $6 i32.store $0 offset=8 local.get $2 - local.get $4 + local.get $5 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -7133,16 +7133,16 @@ i32.const 0 local.set $0 loop $for-loop|00 - local.get $4 - local.get $10 + local.get $5 + local.get $12 i32.gt_s if - local.get $3 - local.get $10 + local.get $4 + local.get $12 i32.const 12 i32.mul i32.add - local.tee $5 + local.tee $6 i32.load $0 offset=8 i32.const 1 i32.and @@ -7154,7 +7154,7 @@ i32.const 1 i32.shl i32.add - local.get $5 + local.get $6 i32.load16_s $0 i32.store16 $0 local.get $0 @@ -7162,10 +7162,10 @@ i32.add local.set $0 end - local.get $10 + local.get $12 i32.const 1 i32.add - local.set $10 + local.set $12 br $for-loop|00 end end @@ -7184,9 +7184,9 @@ local.get $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $3 call $~lib/map/Map#values - local.tee $6 + local.tee $8 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer local.set $0 @@ -7259,17 +7259,17 @@ i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $8 + local.tee $10 i32.store $0 offset=16 i32.const 0 - local.set $10 + local.set $12 loop $for-loop|2 - local.get $10 + local.get $12 local.get $2 i32.load $0 offset=12 i32.lt_s if - local.get $10 + local.get $12 local.get $2 i32.load $0 offset=12 i32.ge_u @@ -7283,19 +7283,19 @@ end local.get $2 i32.load $0 offset=4 - local.get $10 + local.get $12 i32.const 1 i32.shl i32.add i32.load16_s $0 local.set $14 - local.get $6 - local.get $10 - call $~lib/array/Array#__get - local.set $7 + local.get $8 local.get $12 + call $~lib/array/Array#__get + local.set $9 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $14 i32.extend16_s @@ -7332,8 +7332,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find10 - loop $while-continue|011 + block $__inlined_func$~lib/map/Map#find14 + loop $while-continue|015 local.get $0 if local.get $0 @@ -7351,12 +7351,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find10 + br_if $__inlined_func$~lib/map/Map#find14 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|011 + br $while-continue|015 end end i32.const 0 @@ -7372,11 +7372,11 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 - local.get $7 + local.get $9 i32.const 20 i32.sub local.tee $1 @@ -7414,13 +7414,13 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find13 - loop $while-continue|014 + block $__inlined_func$~lib/map/Map#find17 + loop $while-continue|018 local.get $0 if local.get $0 i32.load $0 offset=8 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) @@ -7433,12 +7433,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find13 - local.get $3 + br_if $__inlined_func$~lib/map/Map#find17 + local.get $4 i32.const -2 i32.and local.set $0 - br $while-continue|014 + br $while-continue|018 end end i32.const 0 @@ -7496,7 +7496,7 @@ i32.shr_u local.get $0 i32.xor - local.tee $5 + local.tee $7 local.get $13 i32.load $0 offset=4 i32.and @@ -7506,7 +7506,7 @@ i32.load $0 local.set $0 block $__inlined_func$~lib/map/Map#find - loop $while-continue|015 + loop $while-continue|019 local.get $0 if local.get $0 @@ -7529,7 +7529,7 @@ i32.const -2 i32.and local.set $0 - br $while-continue|015 + br $while-continue|019 end end i32.const 0 @@ -7567,7 +7567,7 @@ i32.const 1 i32.or end - local.set $15 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -7581,14 +7581,14 @@ i64.const 0 i64.store $0 local.get $0 - local.get $15 + local.get $4 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $9 + local.tee $15 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -7596,7 +7596,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $4 + local.tee $6 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor @@ -7610,11 +7610,11 @@ i32.const 3 i32.shl i32.add - local.set $3 + local.set $5 local.get $1 local.set $0 loop $while-continue|00 - local.get $3 + local.get $5 local.get $11 i32.ne if @@ -7634,8 +7634,8 @@ i32.load16_s $0 offset=2 i32.store16 $0 offset=2 local.get $0 - local.get $9 local.get $15 + local.get $4 local.get $16 i32.extend16_s i32.const -1028477379 @@ -7688,16 +7688,16 @@ end end local.get $13 - local.get $9 + local.get $15 i32.store $0 - local.get $9 + local.get $15 if local.get $13 - local.get $9 + local.get $15 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $13 - local.get $15 + local.get $4 i32.store $0 offset=4 local.get $13 local.get $1 @@ -7709,7 +7709,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $13 - local.get $4 + local.get $6 i32.store $0 offset=12 local.get $13 local.get $13 @@ -7752,7 +7752,7 @@ local.get $0 local.get $13 i32.load $0 - local.get $5 + local.get $7 local.get $13 i32.load $0 offset=4 i32.and @@ -7770,17 +7770,17 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $7 + local.get $10 + local.get $9 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $10 + local.get $12 i32.const 1 i32.add - local.set $10 + local.set $12 br $for-loop|2 end end @@ -7796,7 +7796,7 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $10 i32.load $0 offset=20 i32.const 100 i32.ne @@ -7815,9 +7815,9 @@ i32.const 50 i32.lt_s if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend16_s @@ -7854,8 +7854,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find17 - loop $while-continue|018 + block $__inlined_func$~lib/map/Map#find23 + loop $while-continue|024 local.get $1 if local.get $1 @@ -7873,12 +7873,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find17 + br_if $__inlined_func$~lib/map/Map#find23 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|018 + br $while-continue|024 end end i32.const 0 @@ -7894,7 +7894,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -7909,12 +7909,12 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#delete - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend16_s @@ -7951,8 +7951,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find20 - loop $while-continue|021 + block $__inlined_func$~lib/map/Map#find26 + loop $while-continue|027 local.get $1 if local.get $1 @@ -7970,12 +7970,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find20 + br_if $__inlined_func$~lib/map/Map#find26 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|021 + br $while-continue|027 end end i32.const 0 @@ -7997,7 +7997,7 @@ br $for-loop|3 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 50 i32.ne @@ -8016,9 +8016,9 @@ i32.const 50 i32.lt_s if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend16_s @@ -8055,8 +8055,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find23 - loop $while-continue|024 + block $__inlined_func$~lib/map/Map#find29 + loop $while-continue|030 local.get $1 if local.get $1 @@ -8074,12 +8074,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find23 + br_if $__inlined_func$~lib/map/Map#find29 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|024 + br $while-continue|030 end end i32.const 0 @@ -8094,15 +8094,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend16_s @@ -8139,8 +8139,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find26 - loop $while-continue|027 + block $__inlined_func$~lib/map/Map#find32 + loop $while-continue|033 local.get $1 if local.get $1 @@ -8158,12 +8158,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find26 + br_if $__inlined_func$~lib/map/Map#find32 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|027 + br $while-continue|033 end end i32.const 0 @@ -8179,12 +8179,12 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#delete - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.extend16_s @@ -8221,8 +8221,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find29 - loop $while-continue|030 + block $__inlined_func$~lib/map/Map#find35 + loop $while-continue|036 local.get $1 if local.get $1 @@ -8240,12 +8240,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find29 + br_if $__inlined_func$~lib/map/Map#find35 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|030 + br $while-continue|036 end end i32.const 0 @@ -8267,7 +8267,7 @@ br $for-loop|4 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 50 i32.ne @@ -8279,9 +8279,9 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 call $~lib/map/Map#clear - local.get $12 + local.get $3 i32.load $0 offset=20 if i32.const 0 @@ -8339,7 +8339,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -8347,7 +8347,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor @@ -8355,13 +8355,13 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $7 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 12 i32.mul i32.add - local.set $4 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 @@ -8369,23 +8369,23 @@ local.get $7 i32.ne if - local.get $7 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $7 + local.get $4 i32.load16_u $0 local.tee $8 i32.store16 $0 local.get $2 - local.get $7 + local.get $4 i32.load $0 offset=4 i32.store $0 offset=4 local.get $2 - local.get $6 + local.get $5 local.get $1 local.get $8 i32.const -1028477379 @@ -8397,23 +8397,23 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 @@ -8430,20 +8430,20 @@ i32.add local.set $2 end - local.get $7 + local.get $4 i32.const 12 i32.add - local.set $7 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $6 + local.get $5 i32.store $0 - local.get $6 + local.get $5 if local.get $0 - local.get $6 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -8459,7 +8459,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $5 + local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 @@ -8729,7 +8729,7 @@ i32.const 24 i32.const 15 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $3 i32.store $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor @@ -8737,16 +8737,16 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=4 - local.get $12 + local.get $3 local.get $2 i32.store $0 local.get $2 if - local.get $12 + local.get $3 local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $3 i32.const 3 i32.store $0 offset=4 i32.const 48 @@ -8755,22 +8755,22 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=4 - local.get $12 + local.get $3 local.get $2 i32.store $0 offset=8 local.get $2 if - local.get $12 + local.get $3 local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $3 i32.const 4 i32.store $0 offset=12 - local.get $12 + local.get $3 i32.const 0 i32.store $0 offset=16 - local.get $12 + local.get $3 i32.const 0 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer @@ -8778,16 +8778,16 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $12 + local.get $3 i32.store $0 loop $for-loop|0 local.get $0 i32.const 100 i32.lt_u if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 65535 @@ -8864,15 +8864,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 65535 @@ -8950,7 +8950,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -8972,7 +8972,7 @@ br $for-loop|0 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 100 i32.ne @@ -8991,9 +8991,9 @@ i32.const 100 i32.lt_u if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 65535 @@ -9071,7 +9071,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -9086,15 +9086,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 20 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 65535 @@ -9172,7 +9172,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -9194,7 +9194,7 @@ br $for-loop|1 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 100 i32.ne @@ -9219,12 +9219,12 @@ local.tee $0 i32.const 0 i32.store $0 - local.get $12 + local.get $3 i32.load $0 offset=8 - local.set $3 - local.get $12 - i32.load $0 offset=16 local.set $4 + local.get $3 + i32.load $0 offset=16 + local.set $5 local.get $0 i32.const 8 i32.sub @@ -9255,7 +9255,7 @@ local.get $2 i32.const 0 i32.store $0 offset=12 - local.get $4 + local.get $5 i32.const 536870910 i32.gt_u if @@ -9268,35 +9268,35 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const 8 i32.le_u select i32.const 1 i32.shl - local.tee $5 + local.tee $6 i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $7 i32.store $0 offset=4 local.get $2 - local.get $6 + local.get $7 i32.store $0 - local.get $6 + local.get $7 if local.get $2 - local.get $6 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $2 - local.get $6 + local.get $7 i32.store $0 offset=4 local.get $2 - local.get $5 + local.get $6 i32.store $0 offset=8 local.get $2 - local.get $4 + local.get $5 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -9308,16 +9308,16 @@ i32.const 0 local.set $0 loop $for-loop|00 - local.get $4 - local.get $10 + local.get $5 + local.get $12 i32.gt_s if - local.get $3 - local.get $10 + local.get $4 + local.get $12 i32.const 12 i32.mul i32.add - local.tee $5 + local.tee $6 i32.load $0 offset=8 i32.const 1 i32.and @@ -9329,7 +9329,7 @@ i32.const 1 i32.shl i32.add - local.get $5 + local.get $6 i32.load16_u $0 i32.store16 $0 local.get $0 @@ -9337,10 +9337,10 @@ i32.add local.set $0 end - local.get $10 + local.get $12 i32.const 1 i32.add - local.set $10 + local.set $12 br $for-loop|00 end end @@ -9359,9 +9359,9 @@ local.get $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $3 call $~lib/map/Map#values - local.tee $6 + local.tee $8 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer local.set $0 @@ -9434,17 +9434,17 @@ i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $8 + local.tee $10 i32.store $0 offset=16 i32.const 0 - local.set $10 + local.set $12 loop $for-loop|2 - local.get $10 + local.get $12 local.get $2 i32.load $0 offset=12 i32.lt_s if - local.get $10 + local.get $12 local.get $2 i32.load $0 offset=12 i32.ge_u @@ -9458,19 +9458,19 @@ end local.get $2 i32.load $0 offset=4 - local.get $10 + local.get $12 i32.const 1 i32.shl i32.add i32.load16_u $0 local.set $14 - local.get $6 - local.get $10 - call $~lib/array/Array#__get - local.set $7 + local.get $8 local.get $12 + call $~lib/array/Array#__get + local.set $9 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $14 i32.const -1028477379 @@ -9506,8 +9506,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find10 - loop $while-continue|011 + block $__inlined_func$~lib/map/Map#find14 + loop $while-continue|015 local.get $0 if local.get $0 @@ -9523,12 +9523,12 @@ local.get $14 i32.eq end - br_if $__inlined_func$~lib/map/Map#find10 + br_if $__inlined_func$~lib/map/Map#find14 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|011 + br $while-continue|015 end end i32.const 0 @@ -9544,11 +9544,11 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 - local.get $7 + local.get $9 i32.const 20 i32.sub local.tee $1 @@ -9587,13 +9587,13 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find13 - loop $while-continue|014 + block $__inlined_func$~lib/map/Map#find17 + loop $while-continue|018 local.get $0 if local.get $0 i32.load $0 offset=8 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) @@ -9606,12 +9606,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find13 - local.get $3 + br_if $__inlined_func$~lib/map/Map#find17 + local.get $4 i32.const -2 i32.and local.set $0 - br $while-continue|014 + br $while-continue|018 end end i32.const 0 @@ -9668,7 +9668,7 @@ i32.shr_u local.get $0 i32.xor - local.tee $5 + local.tee $7 local.get $13 i32.load $0 offset=4 i32.and @@ -9678,7 +9678,7 @@ i32.load $0 local.set $0 block $__inlined_func$~lib/map/Map#find - loop $while-continue|015 + loop $while-continue|019 local.get $0 if local.get $0 @@ -9699,7 +9699,7 @@ i32.const -2 i32.and local.set $0 - br $while-continue|015 + br $while-continue|019 end end i32.const 0 @@ -9737,7 +9737,7 @@ i32.const 1 i32.or end - local.set $15 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9751,14 +9751,14 @@ i64.const 0 i64.store $0 local.get $0 - local.get $15 + local.get $4 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $9 + local.tee $15 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -9766,7 +9766,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $4 + local.tee $6 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor @@ -9780,11 +9780,11 @@ i32.const 3 i32.shl i32.add - local.set $3 + local.set $5 local.get $1 local.set $0 loop $while-continue|00 - local.get $3 + local.get $5 local.get $11 i32.ne if @@ -9804,8 +9804,8 @@ i32.load16_u $0 offset=2 i32.store16 $0 offset=2 local.get $0 - local.get $9 local.get $15 + local.get $4 local.get $16 i32.const -1028477379 i32.mul @@ -9857,16 +9857,16 @@ end end local.get $13 - local.get $9 + local.get $15 i32.store $0 - local.get $9 + local.get $15 if local.get $13 - local.get $9 + local.get $15 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $13 - local.get $15 + local.get $4 i32.store $0 offset=4 local.get $13 local.get $1 @@ -9878,7 +9878,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $13 - local.get $4 + local.get $6 i32.store $0 offset=12 local.get $13 local.get $13 @@ -9921,7 +9921,7 @@ local.get $0 local.get $13 i32.load $0 - local.get $5 + local.get $7 local.get $13 i32.load $0 offset=4 i32.and @@ -9939,17 +9939,17 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $7 + local.get $10 + local.get $9 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $10 + local.get $12 i32.const 1 i32.add - local.set $10 + local.set $12 br $for-loop|2 end end @@ -9965,7 +9965,7 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $10 i32.load $0 offset=20 i32.const 100 i32.ne @@ -9984,9 +9984,9 @@ i32.const 50 i32.lt_u if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 65535 @@ -10024,8 +10024,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find17 - loop $while-continue|018 + block $__inlined_func$~lib/map/Map#find23 + loop $while-continue|024 local.get $1 if local.get $1 @@ -10043,12 +10043,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find17 + br_if $__inlined_func$~lib/map/Map#find23 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|018 + br $while-continue|024 end end i32.const 0 @@ -10064,7 +10064,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -10079,12 +10079,12 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#delete - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 65535 @@ -10122,8 +10122,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find20 - loop $while-continue|021 + block $__inlined_func$~lib/map/Map#find26 + loop $while-continue|027 local.get $1 if local.get $1 @@ -10141,12 +10141,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find20 + br_if $__inlined_func$~lib/map/Map#find26 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|021 + br $while-continue|027 end end i32.const 0 @@ -10168,7 +10168,7 @@ br $for-loop|3 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 50 i32.ne @@ -10187,9 +10187,9 @@ i32.const 50 i32.lt_u if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 65535 @@ -10227,8 +10227,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find23 - loop $while-continue|024 + block $__inlined_func$~lib/map/Map#find29 + loop $while-continue|030 local.get $1 if local.get $1 @@ -10246,12 +10246,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find23 + br_if $__inlined_func$~lib/map/Map#find29 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|024 + br $while-continue|030 end end i32.const 0 @@ -10266,15 +10266,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 65535 @@ -10312,8 +10312,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find26 - loop $while-continue|027 + block $__inlined_func$~lib/map/Map#find32 + loop $while-continue|033 local.get $1 if local.get $1 @@ -10331,12 +10331,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find26 + br_if $__inlined_func$~lib/map/Map#find32 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|027 + br $while-continue|033 end end i32.const 0 @@ -10352,12 +10352,12 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#delete - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const 65535 @@ -10395,8 +10395,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find29 - loop $while-continue|030 + block $__inlined_func$~lib/map/Map#find35 + loop $while-continue|036 local.get $1 if local.get $1 @@ -10414,12 +10414,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/map/Map#find29 + br_if $__inlined_func$~lib/map/Map#find35 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|030 + br $while-continue|036 end end i32.const 0 @@ -10441,7 +10441,7 @@ br $for-loop|4 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 50 i32.ne @@ -10453,9 +10453,9 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 call $~lib/map/Map#clear - local.get $12 + local.get $3 i32.load $0 offset=20 if i32.const 0 @@ -11939,7 +11939,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -11947,7 +11947,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor @@ -11955,13 +11955,13 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $7 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 12 i32.mul i32.add - local.set $4 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 @@ -11969,23 +11969,23 @@ local.get $7 i32.ne if - local.get $7 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $7 + local.get $4 i32.load $0 local.tee $8 i32.store $0 local.get $2 - local.get $7 + local.get $4 i32.load $0 offset=4 i32.store $0 offset=4 local.get $2 - local.get $6 + local.get $5 local.get $1 local.get $8 i32.const -1028477379 @@ -11997,23 +11997,23 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 @@ -12030,20 +12030,20 @@ i32.add local.set $2 end - local.get $7 + local.get $4 i32.const 12 i32.add - local.set $7 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $6 + local.get $5 i32.store $0 - local.get $6 + local.get $5 if local.get $0 - local.get $6 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -12059,7 +12059,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $5 + local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 @@ -12321,7 +12321,7 @@ i32.const 24 i32.const 18 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $3 i32.store $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor @@ -12329,16 +12329,16 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=4 - local.get $12 + local.get $3 local.get $2 i32.store $0 local.get $2 if - local.get $12 + local.get $3 local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $3 i32.const 3 i32.store $0 offset=4 i32.const 48 @@ -12347,22 +12347,22 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=4 - local.get $12 + local.get $3 local.get $2 i32.store $0 offset=8 local.get $2 if - local.get $12 + local.get $3 local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $3 i32.const 4 i32.store $0 offset=12 - local.get $12 + local.get $3 i32.const 0 i32.store $0 offset=16 - local.get $12 + local.get $3 i32.const 0 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer @@ -12370,16 +12370,16 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $12 + local.get $3 i32.store $0 loop $for-loop|0 local.get $0 i32.const 100 i32.lt_u if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const -1028477379 @@ -12452,15 +12452,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const -1028477379 @@ -12534,7 +12534,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -12556,7 +12556,7 @@ br $for-loop|0 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 100 i32.ne @@ -12575,9 +12575,9 @@ i32.const 100 i32.lt_u if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const -1028477379 @@ -12651,7 +12651,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -12666,15 +12666,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 20 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const -1028477379 @@ -12748,7 +12748,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -12770,7 +12770,7 @@ br $for-loop|1 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 100 i32.ne @@ -12795,12 +12795,12 @@ local.tee $0 i32.const 0 i32.store $0 - local.get $12 + local.get $3 i32.load $0 offset=8 - local.set $3 - local.get $12 - i32.load $0 offset=16 local.set $4 + local.get $3 + i32.load $0 offset=16 + local.set $5 local.get $0 i32.const 8 i32.sub @@ -12831,7 +12831,7 @@ local.get $2 i32.const 0 i32.store $0 offset=12 - local.get $4 + local.get $5 i32.const 268435455 i32.gt_u if @@ -12844,35 +12844,35 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $4 - local.get $4 + local.get $5 + local.get $5 i32.const 8 i32.le_u select i32.const 2 i32.shl - local.tee $5 + local.tee $6 i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $7 i32.store $0 offset=4 local.get $2 - local.get $6 + local.get $7 i32.store $0 - local.get $6 + local.get $7 if local.get $2 - local.get $6 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $2 - local.get $6 + local.get $7 i32.store $0 offset=4 local.get $2 - local.get $5 + local.get $6 i32.store $0 offset=8 local.get $2 - local.get $4 + local.get $5 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -12884,16 +12884,16 @@ i32.const 0 local.set $0 loop $for-loop|00 - local.get $4 - local.get $10 + local.get $5 + local.get $12 i32.gt_s if - local.get $3 - local.get $10 + local.get $4 + local.get $12 i32.const 12 i32.mul i32.add - local.tee $5 + local.tee $6 i32.load $0 offset=8 i32.const 1 i32.and @@ -12905,7 +12905,7 @@ i32.const 2 i32.shl i32.add - local.get $5 + local.get $6 i32.load $0 i32.store $0 local.get $0 @@ -12913,10 +12913,10 @@ i32.add local.set $0 end - local.get $10 + local.get $12 i32.const 1 i32.add - local.set $10 + local.set $12 br $for-loop|00 end end @@ -12935,9 +12935,9 @@ local.get $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $3 call $~lib/map/Map#values - local.tee $6 + local.tee $8 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer local.set $0 @@ -13010,17 +13010,17 @@ i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $8 + local.tee $10 i32.store $0 offset=16 i32.const 0 - local.set $10 + local.set $12 loop $for-loop|2 - local.get $10 + local.get $12 local.get $2 i32.load $0 offset=12 i32.lt_s if - local.get $10 + local.get $12 local.get $2 i32.load $0 offset=12 i32.ge_u @@ -13034,19 +13034,19 @@ end local.get $2 i32.load $0 offset=4 - local.get $10 + local.get $12 i32.const 2 i32.shl i32.add i32.load $0 local.set $14 - local.get $6 - local.get $10 - call $~lib/array/Array#__get - local.set $7 + local.get $8 local.get $12 + call $~lib/array/Array#__get + local.set $9 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $14 i32.const -1028477379 @@ -13082,8 +13082,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find10 - loop $while-continue|011 + block $__inlined_func$~lib/map/Map#find14 + loop $while-continue|015 local.get $0 if local.get $0 @@ -13099,12 +13099,12 @@ local.get $14 i32.eq end - br_if $__inlined_func$~lib/map/Map#find10 + br_if $__inlined_func$~lib/map/Map#find14 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|011 + br $while-continue|015 end end i32.const 0 @@ -13120,11 +13120,11 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 - local.get $7 + local.get $9 i32.const 20 i32.sub local.tee $1 @@ -13161,13 +13161,13 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find13 - loop $while-continue|014 + block $__inlined_func$~lib/map/Map#find17 + loop $while-continue|018 local.get $0 if local.get $0 i32.load $0 offset=8 - local.tee $3 + local.tee $4 i32.const 1 i32.and if (result i32) @@ -13178,12 +13178,12 @@ local.get $1 i32.eq end - br_if $__inlined_func$~lib/map/Map#find13 - local.get $3 + br_if $__inlined_func$~lib/map/Map#find17 + local.get $4 i32.const -2 i32.and local.set $0 - br $while-continue|014 + br $while-continue|018 end end i32.const 0 @@ -13240,7 +13240,7 @@ i32.shr_u local.get $0 i32.xor - local.tee $5 + local.tee $7 local.get $13 i32.load $0 offset=4 i32.and @@ -13249,8 +13249,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find15 - loop $while-continue|016 + block $__inlined_func$~lib/map/Map#find19 + loop $while-continue|020 local.get $0 if local.get $0 @@ -13266,12 +13266,12 @@ i32.load $0 i32.eq end - br_if $__inlined_func$~lib/map/Map#find15 + br_if $__inlined_func$~lib/map/Map#find19 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|016 + br $while-continue|020 end end i32.const 0 @@ -13309,7 +13309,7 @@ i32.const 1 i32.or end - local.set $15 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -13323,14 +13323,14 @@ i64.const 0 i64.store $0 local.get $0 - local.get $15 + local.get $4 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $9 + local.tee $15 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -13338,7 +13338,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $4 + local.tee $6 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor @@ -13352,11 +13352,11 @@ i32.const 12 i32.mul i32.add - local.set $3 + local.set $5 local.get $1 local.set $0 loop $while-continue|00 - local.get $3 + local.get $5 local.get $11 i32.ne if @@ -13376,8 +13376,8 @@ i32.load $0 offset=4 i32.store $0 offset=4 local.get $0 - local.get $9 local.get $15 + local.get $4 local.get $16 i32.const -1028477379 i32.mul @@ -13429,16 +13429,16 @@ end end local.get $13 - local.get $9 + local.get $15 i32.store $0 - local.get $9 + local.get $15 if local.get $13 - local.get $9 + local.get $15 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $13 - local.get $15 + local.get $4 i32.store $0 offset=4 local.get $13 local.get $1 @@ -13450,7 +13450,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $13 - local.get $4 + local.get $6 i32.store $0 offset=12 local.get $13 local.get $13 @@ -13493,7 +13493,7 @@ local.get $0 local.get $13 i32.load $0 - local.get $5 + local.get $7 local.get $13 i32.load $0 offset=4 i32.and @@ -13511,17 +13511,17 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $7 + local.get $10 + local.get $9 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $10 + local.get $12 i32.const 1 i32.add - local.set $10 + local.set $12 br $for-loop|2 end end @@ -13537,7 +13537,7 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $10 i32.load $0 offset=20 i32.const 100 i32.ne @@ -13556,9 +13556,9 @@ i32.const 50 i32.lt_u if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const -1028477379 @@ -13594,8 +13594,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find18 - loop $while-continue|019 + block $__inlined_func$~lib/map/Map#find24 + loop $while-continue|025 local.get $1 if local.get $1 @@ -13611,12 +13611,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/map/Map#find18 + br_if $__inlined_func$~lib/map/Map#find24 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|019 + br $while-continue|025 end end i32.const 0 @@ -13632,7 +13632,7 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#get local.get $0 @@ -13647,12 +13647,12 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#delete - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const -1028477379 @@ -13688,8 +13688,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find21 - loop $while-continue|022 + block $__inlined_func$~lib/map/Map#find27 + loop $while-continue|028 local.get $1 if local.get $1 @@ -13705,12 +13705,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/map/Map#find21 + br_if $__inlined_func$~lib/map/Map#find27 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|022 + br $while-continue|028 end end i32.const 0 @@ -13732,7 +13732,7 @@ br $for-loop|3 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 50 i32.ne @@ -13751,9 +13751,9 @@ i32.const 50 i32.lt_u if - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const -1028477379 @@ -13789,8 +13789,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find24 - loop $while-continue|025 + block $__inlined_func$~lib/map/Map#find30 + loop $while-continue|031 local.get $1 if local.get $1 @@ -13806,12 +13806,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/map/Map#find24 + br_if $__inlined_func$~lib/map/Map#find30 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|025 + br $while-continue|031 end end i32.const 0 @@ -13826,15 +13826,15 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 local.get $0 i32.const 10 i32.add call $~lib/map/Map#set - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const -1028477379 @@ -13870,8 +13870,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find27 - loop $while-continue|028 + block $__inlined_func$~lib/map/Map#find33 + loop $while-continue|034 local.get $1 if local.get $1 @@ -13887,12 +13887,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/map/Map#find27 + br_if $__inlined_func$~lib/map/Map#find33 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|028 + br $while-continue|034 end end i32.const 0 @@ -13908,12 +13908,12 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 local.get $0 call $~lib/map/Map#delete - local.get $12 + local.get $3 i32.load $0 - local.get $12 + local.get $3 i32.load $0 offset=4 local.get $0 i32.const -1028477379 @@ -13949,8 +13949,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find30 - loop $while-continue|031 + block $__inlined_func$~lib/map/Map#find36 + loop $while-continue|037 local.get $1 if local.get $1 @@ -13966,12 +13966,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/map/Map#find30 + br_if $__inlined_func$~lib/map/Map#find36 local.get $2 i32.const -2 i32.and local.set $1 - br $while-continue|031 + br $while-continue|037 end end i32.const 0 @@ -13993,7 +13993,7 @@ br $for-loop|4 end end - local.get $12 + local.get $3 i32.load $0 offset=20 i32.const 50 i32.ne @@ -14005,9 +14005,9 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $3 call $~lib/map/Map#clear - local.get $12 + local.get $3 i32.load $0 offset=20 if i32.const 0 @@ -14066,7 +14066,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -14074,7 +14074,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $7 i32.const 4 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor @@ -14082,13 +14082,13 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $8 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 4 i32.shl i32.add - local.set $4 + local.set $8 local.get $3 local.set $2 loop $while-continue|0 @@ -14096,23 +14096,23 @@ local.get $8 i32.ne if - local.get $8 + local.get $4 i32.load $0 offset=12 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $8 + local.get $4 i64.load $0 local.tee $6 i64.store $0 local.get $2 - local.get $8 + local.get $4 i32.load $0 offset=8 i32.store $0 offset=8 local.get $2 - local.get $7 + local.get $5 local.get $1 local.get $6 i32.wrap_i64 @@ -14136,23 +14136,23 @@ i32.const 668265263 i32.mul local.tee $9 + local.get $9 i32.const 15 i32.shr_u - local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 + local.get $9 i32.const 13 i32.shr_u - local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 + local.get $9 i32.const 16 i32.shr_u - local.get $9 i32.xor i32.and i32.const 2 @@ -14169,20 +14169,20 @@ i32.add local.set $2 end - local.get $8 + local.get $4 i32.const 16 i32.add - local.set $8 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $7 + local.get $5 i32.store $0 - local.get $7 + local.get $5 if local.get $0 - local.get $7 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -14198,7 +14198,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $5 + local.get $7 i32.store $0 offset=12 local.get $0 local.get $0 @@ -14438,18 +14438,18 @@ (func $std/map/testNumeric (type $none_=>_none) (local $0 i32) (local $1 i32) - (local $2 i64) + (local $2 i32) (local $3 i32) - (local $4 i32) + (local $4 i64) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 i64) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i64) + (local $13 i32) (local $14 i32) (local $15 i32) (local $16 i32) @@ -14464,11 +14464,11 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.const 20 memory.fill $0 - local.get $0 + local.get $1 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -14477,10 +14477,10 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i64.const 0 i64.store $0 - local.get $3 + local.get $0 i32.const 24 i32.const 21 call $~lib/rt/itcms/__new @@ -14488,17 +14488,17 @@ i32.store $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store $0 offset=4 local.get $10 - local.get $3 + local.get $0 i32.store $0 - local.get $3 + local.get $0 if local.get $10 - local.get $3 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $10 @@ -14506,17 +14506,17 @@ i32.store $0 offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store $0 offset=4 local.get $10 - local.get $3 + local.get $0 i32.store $0 offset=8 - local.get $3 + local.get $0 if local.get $10 - local.get $3 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $10 @@ -14532,11 +14532,11 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $10 i32.store $0 loop $for-loop|0 - local.get $2 + local.get $4 i64.const 100 i64.lt_s if @@ -14544,7 +14544,7 @@ i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -14554,7 +14554,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -14596,19 +14596,19 @@ if local.get $0 i32.load $0 offset=12 - local.tee $3 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $3 + local.get $1 i32.const -2 i32.and local.set $0 @@ -14628,8 +14628,8 @@ unreachable end local.get $10 - local.get $2 - local.get $2 + local.get $4 + local.get $4 i32.wrap_i64 local.tee $0 i32.const 10 @@ -14648,7 +14648,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -14690,19 +14690,19 @@ if local.get $0 i32.load $0 offset=12 - local.tee $3 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $3 + local.get $1 i32.const -2 i32.and local.set $0 @@ -14723,9 +14723,9 @@ unreachable end local.get $10 - local.get $2 + local.get $4 call $~lib/map/Map#get - local.get $2 + local.get $4 i32.wrap_i64 i32.const 10 i32.add @@ -14738,10 +14738,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 i64.const 1 i64.add - local.set $2 + local.set $4 br $for-loop|0 end end @@ -14758,9 +14758,9 @@ unreachable end i64.const 0 - local.set $2 + local.set $4 loop $for-loop|1 - local.get $2 + local.get $4 i64.const 100 i64.lt_s if @@ -14768,7 +14768,7 @@ i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -14778,7 +14778,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -14820,19 +14820,19 @@ if local.get $0 i32.load $0 offset=12 - local.tee $3 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end br_if $__inlined_func$~lib/map/Map#find8 - local.get $3 + local.get $1 i32.const -2 i32.and local.set $0 @@ -14853,9 +14853,9 @@ unreachable end local.get $10 - local.get $2 + local.get $4 call $~lib/map/Map#get - local.get $2 + local.get $4 i32.wrap_i64 i32.const 10 i32.add @@ -14869,8 +14869,8 @@ unreachable end local.get $10 - local.get $2 - local.get $2 + local.get $4 + local.get $4 i32.wrap_i64 local.tee $0 i32.const 20 @@ -14889,7 +14889,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -14931,19 +14931,19 @@ if local.get $0 i32.load $0 offset=12 - local.tee $3 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end br_if $__inlined_func$~lib/map/Map#find15 - local.get $3 + local.get $1 i32.const -2 i32.and local.set $0 @@ -14964,9 +14964,9 @@ unreachable end local.get $10 - local.get $2 + local.get $4 call $~lib/map/Map#get - local.get $2 + local.get $4 i32.wrap_i64 i32.const 20 i32.add @@ -14979,10 +14979,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 i64.const 1 i64.add - local.set $2 + local.set $4 br $for-loop|1 end end @@ -14999,7 +14999,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $8 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -15008,16 +15008,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $6 i32.const 0 i32.store $0 local.get $10 i32.load $0 offset=8 - local.set $4 + local.set $5 local.get $10 i32.load $0 offset=16 - local.set $5 - local.get $0 + local.set $3 + local.get $6 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -15026,28 +15026,28 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $0 i64.const 0 i64.store $0 - local.get $6 + local.get $0 i32.const 16 i32.const 22 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $2 i32.store $0 - local.get $11 + local.get $2 i32.const 0 i32.store $0 - local.get $11 + local.get $2 i32.const 0 i32.store $0 offset=4 - local.get $11 + local.get $2 i32.const 0 i32.store $0 offset=8 - local.get $11 + local.get $2 i32.const 0 i32.store $0 offset=12 - local.get $5 + local.get $3 i32.const 134217727 i32.gt_u if @@ -15060,68 +15060,68 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 + local.get $3 + local.get $3 i32.const 8 i32.le_u select i32.const 3 i32.shl - local.tee $6 + local.tee $1 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $0 i32.store $0 offset=4 - local.get $11 - local.get $7 + local.get $2 + local.get $0 i32.store $0 - local.get $7 + local.get $0 if - local.get $11 - local.get $7 + local.get $2 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $11 - local.get $7 + local.get $2 + local.get $0 i32.store $0 offset=4 - local.get $11 - local.get $6 + local.get $2 + local.get $1 i32.store $0 offset=8 - local.get $11 - local.get $5 + local.get $2 + local.get $3 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $11 + local.get $6 + local.get $2 i32.store $0 i32.const 0 local.set $0 loop $for-loop|03 - local.get $1 - local.get $5 - i32.lt_s + local.get $3 + local.get $9 + i32.gt_s if - local.get $4 - local.get $1 + local.get $5 + local.get $9 i32.const 4 i32.shl i32.add - local.tee $6 + local.tee $1 i32.load $0 offset=12 i32.const 1 i32.and i32.eqz if - local.get $11 + local.get $2 i32.load $0 offset=4 local.get $0 i32.const 3 i32.shl i32.add - local.get $6 + local.get $1 i64.load $0 i64.store $0 local.get $0 @@ -15129,34 +15129,34 @@ i32.add local.set $0 end - local.get $1 + local.get $9 i32.const 1 i32.add - local.set $1 + local.set $9 br $for-loop|03 end end - local.get $11 + local.get $2 local.get $0 i32.const 3 call $~lib/array/ensureCapacity - local.get $11 + local.get $2 local.get $0 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $11 + local.get $8 + local.get $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer local.get $10 call $~lib/map/Map#values - local.tee $5 + local.tee $9 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -15166,76 +15166,76 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 24 i32.const 23 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $13 i32.store $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=4 - local.get $12 - local.get $1 + local.get $13 + local.get $0 i32.store $0 - local.get $1 + local.get $0 if - local.get $12 - local.get $1 + local.get $13 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $13 i32.const 3 i32.store $0 offset=4 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=4 - local.get $12 - local.get $1 + local.get $13 + local.get $0 i32.store $0 offset=8 - local.get $1 + local.get $0 if - local.get $12 - local.get $1 + local.get $13 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $13 i32.const 4 i32.store $0 offset=12 - local.get $12 + local.get $13 i32.const 0 i32.store $0 offset=16 - local.get $12 + local.get $13 i32.const 0 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $12 + local.get $1 + local.get $13 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $7 + local.tee $8 i32.store $0 offset=16 loop $for-loop|2 - local.get $8 - local.get $11 + local.get $16 + local.get $2 i32.load $0 offset=12 i32.lt_s if - local.get $8 - local.get $11 + local.get $16 + local.get $2 i32.load $0 offset=12 i32.ge_u if @@ -15246,23 +15246,23 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $2 i32.load $0 offset=4 - local.get $8 + local.get $16 i32.const 3 i32.shl i32.add i64.load $0 - local.set $2 - local.get $5 - local.get $8 + local.set $7 + local.get $9 + local.get $16 call $~lib/array/Array#__get local.set $6 local.get $10 i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $7 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -15272,7 +15272,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $7 i64.const 32 i64.shr_u i32.wrap_i64 @@ -15308,8 +15308,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find41 - loop $while-continue|045 + block $__inlined_func$~lib/map/Map#find38 + loop $while-continue|042 local.get $0 if local.get $0 @@ -15320,17 +15320,17 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $7 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find41 + br_if $__inlined_func$~lib/map/Map#find38 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|045 + br $while-continue|042 end end i32.const 0 @@ -15354,7 +15354,7 @@ i32.const 20 i32.sub i64.extend_i32_s - local.tee $13 + local.tee $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -15364,7 +15364,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $13 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -15400,8 +15400,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find48 - loop $while-continue|052 + block $__inlined_func$~lib/map/Map#find45 + loop $while-continue|049 local.get $0 if local.get $0 @@ -15412,17 +15412,17 @@ if (result i32) i32.const 0 else - local.get $13 + local.get $4 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find48 + br_if $__inlined_func$~lib/map/Map#find45 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|052 + br $while-continue|049 end end i32.const 0 @@ -15449,9 +15449,9 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $12 + local.get $13 i32.load $0 - local.get $2 + local.get $7 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -15461,7 +15461,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $7 i64.const 32 i64.shr_u i32.wrap_i64 @@ -15491,8 +15491,8 @@ i32.const 16 i32.shr_u i32.xor - local.tee $4 - local.get $12 + local.tee $5 + local.get $13 i32.load $0 offset=4 i32.and i32.const 2 @@ -15501,7 +15501,7 @@ i32.load $0 local.set $0 block $__inlined_func$~lib/map/Map#find - loop $while-continue|059 + loop $while-continue|056 local.get $0 if local.get $0 @@ -15512,7 +15512,7 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $7 local.get $0 i64.load $0 i64.eq @@ -15522,7 +15522,7 @@ i32.const -2 i32.and local.set $0 - br $while-continue|059 + br $while-continue|056 end end i32.const 0 @@ -15531,18 +15531,18 @@ local.get $0 if local.get $0 - local.get $2 + local.get $7 i64.store $0 offset=8 else - local.get $12 + local.get $13 i32.load $0 offset=16 - local.get $12 + local.get $13 i32.load $0 offset=12 i32.eq if - local.get $12 + local.get $13 i32.load $0 offset=20 - local.get $12 + local.get $13 i32.load $0 offset=12 i32.const 3 i32.mul @@ -15550,17 +15550,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $12 + local.get $13 i32.load $0 offset=4 else - local.get $12 + local.get $13 i32.load $0 offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $14 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -15574,14 +15574,14 @@ i64.const 0 i64.store $0 local.get $0 - local.get $14 + local.get $12 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $15 + local.tee $11 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -15589,47 +15589,47 @@ i32.shl i32.const 3 i32.div_s - local.tee $3 + local.tee $15 i32.const 24 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $1 i32.store $0 offset=4 - local.get $12 + local.get $13 i32.load $0 offset=8 - local.tee $9 - local.get $12 + local.tee $17 + local.get $13 i32.load $0 offset=16 i32.const 24 i32.mul i32.add - local.set $16 + local.set $14 local.get $1 local.set $0 loop $while-continue|00 - local.get $9 - local.get $16 + local.get $14 + local.get $17 i32.ne if - local.get $9 + local.get $17 i32.load $0 offset=16 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $9 + local.get $17 i64.load $0 - local.tee $13 + local.tee $4 i64.store $0 local.get $0 - local.get $9 + local.get $17 i64.load $0 offset=8 i64.store $0 offset=8 local.get $0 - local.get $15 - local.get $14 - local.get $13 + local.get $11 + local.get $12 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -15639,7 +15639,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $13 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -15650,22 +15650,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $17 - local.get $17 + local.tee $3 + local.get $3 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $17 - local.get $17 + local.tee $3 + local.get $3 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $17 - local.get $17 + local.tee $3 + local.get $3 i32.const 16 i32.shr_u i32.xor @@ -15673,10 +15673,10 @@ i32.const 2 i32.shl i32.add - local.tee $17 + local.tee $3 i32.load $0 i32.store $0 offset=16 - local.get $17 + local.get $3 local.get $0 i32.store $0 local.get $0 @@ -15684,39 +15684,39 @@ i32.add local.set $0 end - local.get $9 + local.get $17 i32.const 24 i32.add - local.set $9 + local.set $17 br $while-continue|00 end end - local.get $12 - local.get $15 + local.get $13 + local.get $11 i32.store $0 - local.get $15 + local.get $11 if - local.get $12 - local.get $15 + local.get $13 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end + local.get $13 local.get $12 - local.get $14 i32.store $0 offset=4 - local.get $12 + local.get $13 local.get $1 i32.store $0 offset=8 local.get $1 if - local.get $12 + local.get $13 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 - local.get $3 + local.get $13 + local.get $15 i32.store $0 offset=12 - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load $0 offset=20 i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer @@ -15725,70 +15725,70 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $13 i32.load $0 offset=8 - local.tee $0 + local.tee $1 i32.store $0 - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load $0 offset=16 - local.tee $1 + local.tee $0 i32.const 1 i32.add i32.store $0 offset=16 - local.get $0 local.get $1 + local.get $0 i32.const 24 i32.mul i32.add - local.tee $0 - local.get $2 + local.tee $1 + local.get $7 i64.store $0 - local.get $0 - local.get $2 + local.get $1 + local.get $7 i64.store $0 offset=8 - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load $0 offset=20 i32.const 1 i32.add i32.store $0 offset=20 - local.get $0 - local.get $12 + local.get $1 + local.get $13 i32.load $0 - local.get $4 - local.get $12 + local.get $5 + local.get $13 i32.load $0 offset=4 i32.and i32.const 2 i32.shl i32.add - local.tee $1 + local.tee $0 i32.load $0 i32.store $0 offset=16 - local.get $1 local.get $0 + local.get $1 i32.store $0 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $8 local.get $6 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $8 + local.get $16 i32.const 1 i32.add - local.set $8 + local.set $16 br $for-loop|2 end end - local.get $12 + local.get $13 i32.load $0 offset=20 i32.const 100 i32.ne @@ -15800,7 +15800,7 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.load $0 offset=20 i32.const 100 i32.ne @@ -15813,9 +15813,9 @@ unreachable end i64.const 0 - local.set $2 + local.set $4 loop $for-loop|3 - local.get $2 + local.get $4 i64.const 50 i64.lt_s if @@ -15823,7 +15823,7 @@ i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -15833,7 +15833,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -15869,8 +15869,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find80 - loop $while-continue|084 + block $__inlined_func$~lib/map/Map#find77 + loop $while-continue|081 local.get $0 if local.get $0 @@ -15881,17 +15881,17 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find80 + br_if $__inlined_func$~lib/map/Map#find77 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|084 + br $while-continue|081 end end i32.const 0 @@ -15908,9 +15908,9 @@ unreachable end local.get $10 - local.get $2 + local.get $4 call $~lib/map/Map#get - local.get $2 + local.get $4 i32.wrap_i64 i32.const 20 i32.add @@ -15924,13 +15924,13 @@ unreachable end local.get $10 - local.get $2 + local.get $4 call $~lib/map/Map#delete local.get $10 i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -15940,7 +15940,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -15976,8 +15976,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find87 - loop $while-continue|091 + block $__inlined_func$~lib/map/Map#find84 + loop $while-continue|088 local.get $0 if local.get $0 @@ -15988,17 +15988,17 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find87 + br_if $__inlined_func$~lib/map/Map#find84 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|091 + br $while-continue|088 end end i32.const 0 @@ -16013,10 +16013,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 i64.const 1 i64.add - local.set $2 + local.set $4 br $for-loop|3 end end @@ -16033,9 +16033,9 @@ unreachable end i64.const 0 - local.set $2 + local.set $4 loop $for-loop|4 - local.get $2 + local.get $4 i64.const 50 i64.lt_s if @@ -16043,7 +16043,7 @@ i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -16053,7 +16053,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -16089,8 +16089,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find96 - loop $while-continue|0100 + block $__inlined_func$~lib/map/Map#find93 + loop $while-continue|097 local.get $0 if local.get $0 @@ -16101,17 +16101,17 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find96 + br_if $__inlined_func$~lib/map/Map#find93 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|0100 + br $while-continue|097 end end i32.const 0 @@ -16127,8 +16127,8 @@ unreachable end local.get $10 - local.get $2 - local.get $2 + local.get $4 + local.get $4 i32.wrap_i64 local.tee $0 i32.const 10 @@ -16147,7 +16147,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -16183,8 +16183,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find103 - loop $while-continue|0107 + block $__inlined_func$~lib/map/Map#find100 + loop $while-continue|0104 local.get $0 if local.get $0 @@ -16195,17 +16195,17 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find103 + br_if $__inlined_func$~lib/map/Map#find100 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|0107 + br $while-continue|0104 end end i32.const 0 @@ -16222,13 +16222,13 @@ unreachable end local.get $10 - local.get $2 + local.get $4 call $~lib/map/Map#delete local.get $10 i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -16238,7 +16238,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -16274,8 +16274,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find110 - loop $while-continue|0114 + block $__inlined_func$~lib/map/Map#find107 + loop $while-continue|0111 local.get $0 if local.get $0 @@ -16286,17 +16286,17 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find110 + br_if $__inlined_func$~lib/map/Map#find107 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|0114 + br $while-continue|0111 end end i32.const 0 @@ -16311,10 +16311,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 i64.const 1 i64.add - local.set $2 + local.set $4 br $for-loop|4 end end @@ -16391,7 +16391,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -16399,7 +16399,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $7 i32.const 4 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor @@ -16407,13 +16407,13 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $8 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 4 i32.shl i32.add - local.set $4 + local.set $8 local.get $3 local.set $2 loop $while-continue|0 @@ -16421,23 +16421,23 @@ local.get $8 i32.ne if - local.get $8 + local.get $4 i32.load $0 offset=12 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $8 + local.get $4 i64.load $0 local.tee $6 i64.store $0 local.get $2 - local.get $8 + local.get $4 i32.load $0 offset=8 i32.store $0 offset=8 local.get $2 - local.get $7 + local.get $5 local.get $1 local.get $6 i32.wrap_i64 @@ -16461,23 +16461,23 @@ i32.const 668265263 i32.mul local.tee $9 + local.get $9 i32.const 15 i32.shr_u - local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 + local.get $9 i32.const 13 i32.shr_u - local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 + local.get $9 i32.const 16 i32.shr_u - local.get $9 i32.xor i32.and i32.const 2 @@ -16494,20 +16494,20 @@ i32.add local.set $2 end - local.get $8 + local.get $4 i32.const 16 i32.add - local.set $8 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $7 + local.get $5 i32.store $0 - local.get $7 + local.get $5 if local.get $0 - local.get $7 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -16523,7 +16523,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $5 + local.get $7 i32.store $0 offset=12 local.get $0 local.get $0 @@ -16763,18 +16763,18 @@ (func $std/map/testNumeric (type $none_=>_none) (local $0 i32) (local $1 i32) - (local $2 i64) + (local $2 i32) (local $3 i32) - (local $4 i32) + (local $4 i64) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 i64) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i64) + (local $13 i32) (local $14 i32) (local $15 i32) (local $16 i32) @@ -16789,11 +16789,11 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.const 20 memory.fill $0 - local.get $0 + local.get $1 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -16802,10 +16802,10 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 i64.const 0 i64.store $0 - local.get $3 + local.get $0 i32.const 24 i32.const 24 call $~lib/rt/itcms/__new @@ -16813,17 +16813,17 @@ i32.store $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store $0 offset=4 local.get $10 - local.get $3 + local.get $0 i32.store $0 - local.get $3 + local.get $0 if local.get $10 - local.get $3 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $10 @@ -16831,17 +16831,17 @@ i32.store $0 offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store $0 offset=4 local.get $10 - local.get $3 + local.get $0 i32.store $0 offset=8 - local.get $3 + local.get $0 if local.get $10 - local.get $3 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $10 @@ -16857,11 +16857,11 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $10 i32.store $0 loop $for-loop|0 - local.get $2 + local.get $4 i64.const 100 i64.lt_u if @@ -16869,7 +16869,7 @@ i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -16879,7 +16879,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -16921,19 +16921,19 @@ if local.get $0 i32.load $0 offset=12 - local.tee $3 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $3 + local.get $1 i32.const -2 i32.and local.set $0 @@ -16953,8 +16953,8 @@ unreachable end local.get $10 - local.get $2 - local.get $2 + local.get $4 + local.get $4 i32.wrap_i64 local.tee $0 i32.const 10 @@ -16973,7 +16973,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -17015,19 +17015,19 @@ if local.get $0 i32.load $0 offset=12 - local.tee $3 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $3 + local.get $1 i32.const -2 i32.and local.set $0 @@ -17048,9 +17048,9 @@ unreachable end local.get $10 - local.get $2 + local.get $4 call $~lib/map/Map#get - local.get $2 + local.get $4 i32.wrap_i64 i32.const 10 i32.add @@ -17063,10 +17063,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 i64.const 1 i64.add - local.set $2 + local.set $4 br $for-loop|0 end end @@ -17083,9 +17083,9 @@ unreachable end i64.const 0 - local.set $2 + local.set $4 loop $for-loop|1 - local.get $2 + local.get $4 i64.const 100 i64.lt_u if @@ -17093,7 +17093,7 @@ i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -17103,7 +17103,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -17145,19 +17145,19 @@ if local.get $0 i32.load $0 offset=12 - local.tee $3 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end br_if $__inlined_func$~lib/map/Map#find8 - local.get $3 + local.get $1 i32.const -2 i32.and local.set $0 @@ -17178,9 +17178,9 @@ unreachable end local.get $10 - local.get $2 + local.get $4 call $~lib/map/Map#get - local.get $2 + local.get $4 i32.wrap_i64 i32.const 10 i32.add @@ -17194,8 +17194,8 @@ unreachable end local.get $10 - local.get $2 - local.get $2 + local.get $4 + local.get $4 i32.wrap_i64 local.tee $0 i32.const 20 @@ -17214,7 +17214,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -17256,19 +17256,19 @@ if local.get $0 i32.load $0 offset=12 - local.tee $3 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end br_if $__inlined_func$~lib/map/Map#find15 - local.get $3 + local.get $1 i32.const -2 i32.and local.set $0 @@ -17289,9 +17289,9 @@ unreachable end local.get $10 - local.get $2 + local.get $4 call $~lib/map/Map#get - local.get $2 + local.get $4 i32.wrap_i64 i32.const 20 i32.add @@ -17304,10 +17304,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 i64.const 1 i64.add - local.set $2 + local.set $4 br $for-loop|1 end end @@ -17324,7 +17324,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $8 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -17333,16 +17333,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $6 i32.const 0 i32.store $0 local.get $10 i32.load $0 offset=8 - local.set $4 + local.set $5 local.get $10 i32.load $0 offset=16 - local.set $5 - local.get $0 + local.set $3 + local.get $6 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -17351,28 +17351,28 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $0 i64.const 0 i64.store $0 - local.get $6 + local.get $0 i32.const 16 i32.const 25 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $2 i32.store $0 - local.get $11 + local.get $2 i32.const 0 i32.store $0 - local.get $11 + local.get $2 i32.const 0 i32.store $0 offset=4 - local.get $11 + local.get $2 i32.const 0 i32.store $0 offset=8 - local.get $11 + local.get $2 i32.const 0 i32.store $0 offset=12 - local.get $5 + local.get $3 i32.const 134217727 i32.gt_u if @@ -17385,68 +17385,68 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 + local.get $3 + local.get $3 i32.const 8 i32.le_u select i32.const 3 i32.shl - local.tee $6 + local.tee $1 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $0 i32.store $0 offset=4 - local.get $11 - local.get $7 + local.get $2 + local.get $0 i32.store $0 - local.get $7 + local.get $0 if - local.get $11 - local.get $7 + local.get $2 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $11 - local.get $7 + local.get $2 + local.get $0 i32.store $0 offset=4 - local.get $11 - local.get $6 + local.get $2 + local.get $1 i32.store $0 offset=8 - local.get $11 - local.get $5 + local.get $2 + local.get $3 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $11 + local.get $6 + local.get $2 i32.store $0 i32.const 0 local.set $0 loop $for-loop|03 - local.get $1 - local.get $5 - i32.lt_s + local.get $3 + local.get $9 + i32.gt_s if - local.get $4 - local.get $1 + local.get $5 + local.get $9 i32.const 4 i32.shl i32.add - local.tee $6 + local.tee $1 i32.load $0 offset=12 i32.const 1 i32.and i32.eqz if - local.get $11 + local.get $2 i32.load $0 offset=4 local.get $0 i32.const 3 i32.shl i32.add - local.get $6 + local.get $1 i64.load $0 i64.store $0 local.get $0 @@ -17454,34 +17454,34 @@ i32.add local.set $0 end - local.get $1 + local.get $9 i32.const 1 i32.add - local.set $1 + local.set $9 br $for-loop|03 end end - local.get $11 + local.get $2 local.get $0 i32.const 3 call $~lib/array/ensureCapacity - local.get $11 + local.get $2 local.get $0 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $11 + local.get $8 + local.get $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer local.get $10 call $~lib/map/Map#values - local.tee $5 + local.tee $9 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -17491,76 +17491,76 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 24 i32.const 26 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $13 i32.store $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=4 - local.get $12 - local.get $1 + local.get $13 + local.get $0 i32.store $0 - local.get $1 + local.get $0 if - local.get $12 - local.get $1 + local.get $13 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $13 i32.const 3 i32.store $0 offset=4 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=4 - local.get $12 - local.get $1 + local.get $13 + local.get $0 i32.store $0 offset=8 - local.get $1 + local.get $0 if - local.get $12 - local.get $1 + local.get $13 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 + local.get $13 i32.const 4 i32.store $0 offset=12 - local.get $12 + local.get $13 i32.const 0 i32.store $0 offset=16 - local.get $12 + local.get $13 i32.const 0 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $12 + local.get $1 + local.get $13 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $7 + local.tee $8 i32.store $0 offset=16 loop $for-loop|2 - local.get $8 - local.get $11 + local.get $16 + local.get $2 i32.load $0 offset=12 i32.lt_s if - local.get $8 - local.get $11 + local.get $16 + local.get $2 i32.load $0 offset=12 i32.ge_u if @@ -17571,23 +17571,23 @@ call $~lib/builtins/abort unreachable end - local.get $11 + local.get $2 i32.load $0 offset=4 - local.get $8 + local.get $16 i32.const 3 i32.shl i32.add i64.load $0 - local.set $2 - local.get $5 - local.get $8 + local.set $7 + local.get $9 + local.get $16 call $~lib/array/Array#__get local.set $6 local.get $10 i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $7 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -17597,7 +17597,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $7 i64.const 32 i64.shr_u i32.wrap_i64 @@ -17633,8 +17633,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find41 - loop $while-continue|045 + block $__inlined_func$~lib/map/Map#find38 + loop $while-continue|042 local.get $0 if local.get $0 @@ -17645,17 +17645,17 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $7 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find41 + br_if $__inlined_func$~lib/map/Map#find38 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|045 + br $while-continue|042 end end i32.const 0 @@ -17679,7 +17679,7 @@ i32.const 20 i32.sub i64.extend_i32_s - local.tee $13 + local.tee $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -17689,7 +17689,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $13 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -17725,8 +17725,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find48 - loop $while-continue|052 + block $__inlined_func$~lib/map/Map#find45 + loop $while-continue|049 local.get $0 if local.get $0 @@ -17737,17 +17737,17 @@ if (result i32) i32.const 0 else - local.get $13 + local.get $4 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find48 + br_if $__inlined_func$~lib/map/Map#find45 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|052 + br $while-continue|049 end end i32.const 0 @@ -17774,9 +17774,9 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $12 + local.get $13 i32.load $0 - local.get $2 + local.get $7 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -17786,7 +17786,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $7 i64.const 32 i64.shr_u i32.wrap_i64 @@ -17816,8 +17816,8 @@ i32.const 16 i32.shr_u i32.xor - local.tee $4 - local.get $12 + local.tee $5 + local.get $13 i32.load $0 offset=4 i32.and i32.const 2 @@ -17826,7 +17826,7 @@ i32.load $0 local.set $0 block $__inlined_func$~lib/map/Map#find - loop $while-continue|059 + loop $while-continue|056 local.get $0 if local.get $0 @@ -17837,7 +17837,7 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $7 local.get $0 i64.load $0 i64.eq @@ -17847,7 +17847,7 @@ i32.const -2 i32.and local.set $0 - br $while-continue|059 + br $while-continue|056 end end i32.const 0 @@ -17856,18 +17856,18 @@ local.get $0 if local.get $0 - local.get $2 + local.get $7 i64.store $0 offset=8 else - local.get $12 + local.get $13 i32.load $0 offset=16 - local.get $12 + local.get $13 i32.load $0 offset=12 i32.eq if - local.get $12 + local.get $13 i32.load $0 offset=20 - local.get $12 + local.get $13 i32.load $0 offset=12 i32.const 3 i32.mul @@ -17875,17 +17875,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $12 + local.get $13 i32.load $0 offset=4 else - local.get $12 + local.get $13 i32.load $0 offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $14 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -17899,14 +17899,14 @@ i64.const 0 i64.store $0 local.get $0 - local.get $14 + local.get $12 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $15 + local.tee $11 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -17914,47 +17914,47 @@ i32.shl i32.const 3 i32.div_s - local.tee $3 + local.tee $15 i32.const 24 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $1 i32.store $0 offset=4 - local.get $12 + local.get $13 i32.load $0 offset=8 - local.tee $9 - local.get $12 + local.tee $17 + local.get $13 i32.load $0 offset=16 i32.const 24 i32.mul i32.add - local.set $16 + local.set $14 local.get $1 local.set $0 loop $while-continue|00 - local.get $9 - local.get $16 + local.get $14 + local.get $17 i32.ne if - local.get $9 + local.get $17 i32.load $0 offset=16 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $9 + local.get $17 i64.load $0 - local.tee $13 + local.tee $4 i64.store $0 local.get $0 - local.get $9 + local.get $17 i64.load $0 offset=8 i64.store $0 offset=8 local.get $0 - local.get $15 - local.get $14 - local.get $13 + local.get $11 + local.get $12 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -17964,7 +17964,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $13 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -17975,22 +17975,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $17 - local.get $17 + local.tee $3 + local.get $3 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $17 - local.get $17 + local.tee $3 + local.get $3 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $17 - local.get $17 + local.tee $3 + local.get $3 i32.const 16 i32.shr_u i32.xor @@ -17998,10 +17998,10 @@ i32.const 2 i32.shl i32.add - local.tee $17 + local.tee $3 i32.load $0 i32.store $0 offset=16 - local.get $17 + local.get $3 local.get $0 i32.store $0 local.get $0 @@ -18009,39 +18009,39 @@ i32.add local.set $0 end - local.get $9 + local.get $17 i32.const 24 i32.add - local.set $9 + local.set $17 br $while-continue|00 end end - local.get $12 - local.get $15 + local.get $13 + local.get $11 i32.store $0 - local.get $15 + local.get $11 if - local.get $12 - local.get $15 + local.get $13 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end + local.get $13 local.get $12 - local.get $14 i32.store $0 offset=4 - local.get $12 + local.get $13 local.get $1 i32.store $0 offset=8 local.get $1 if - local.get $12 + local.get $13 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 - local.get $3 + local.get $13 + local.get $15 i32.store $0 offset=12 - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load $0 offset=20 i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer @@ -18050,70 +18050,70 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $13 i32.load $0 offset=8 - local.tee $0 + local.tee $1 i32.store $0 - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load $0 offset=16 - local.tee $1 + local.tee $0 i32.const 1 i32.add i32.store $0 offset=16 - local.get $0 local.get $1 + local.get $0 i32.const 24 i32.mul i32.add - local.tee $0 - local.get $2 + local.tee $1 + local.get $7 i64.store $0 - local.get $0 - local.get $2 + local.get $1 + local.get $7 i64.store $0 offset=8 - local.get $12 - local.get $12 + local.get $13 + local.get $13 i32.load $0 offset=20 i32.const 1 i32.add i32.store $0 offset=20 - local.get $0 - local.get $12 + local.get $1 + local.get $13 i32.load $0 - local.get $4 - local.get $12 + local.get $5 + local.get $13 i32.load $0 offset=4 i32.and i32.const 2 i32.shl i32.add - local.tee $1 + local.tee $0 i32.load $0 i32.store $0 offset=16 - local.get $1 local.get $0 + local.get $1 i32.store $0 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $8 local.get $6 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $8 + local.get $16 i32.const 1 i32.add - local.set $8 + local.set $16 br $for-loop|2 end end - local.get $12 + local.get $13 i32.load $0 offset=20 i32.const 100 i32.ne @@ -18125,7 +18125,7 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $8 i32.load $0 offset=20 i32.const 100 i32.ne @@ -18138,9 +18138,9 @@ unreachable end i64.const 0 - local.set $2 + local.set $4 loop $for-loop|3 - local.get $2 + local.get $4 i64.const 50 i64.lt_u if @@ -18148,7 +18148,7 @@ i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -18158,7 +18158,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -18194,8 +18194,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find80 - loop $while-continue|084 + block $__inlined_func$~lib/map/Map#find77 + loop $while-continue|081 local.get $0 if local.get $0 @@ -18206,17 +18206,17 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find80 + br_if $__inlined_func$~lib/map/Map#find77 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|084 + br $while-continue|081 end end i32.const 0 @@ -18233,9 +18233,9 @@ unreachable end local.get $10 - local.get $2 + local.get $4 call $~lib/map/Map#get - local.get $2 + local.get $4 i32.wrap_i64 i32.const 20 i32.add @@ -18249,13 +18249,13 @@ unreachable end local.get $10 - local.get $2 + local.get $4 call $~lib/map/Map#delete local.get $10 i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -18265,7 +18265,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -18301,8 +18301,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find87 - loop $while-continue|091 + block $__inlined_func$~lib/map/Map#find84 + loop $while-continue|088 local.get $0 if local.get $0 @@ -18313,17 +18313,17 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find87 + br_if $__inlined_func$~lib/map/Map#find84 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|091 + br $while-continue|088 end end i32.const 0 @@ -18338,10 +18338,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 i64.const 1 i64.add - local.set $2 + local.set $4 br $for-loop|3 end end @@ -18358,9 +18358,9 @@ unreachable end i64.const 0 - local.set $2 + local.set $4 loop $for-loop|4 - local.get $2 + local.get $4 i64.const 50 i64.lt_u if @@ -18368,7 +18368,7 @@ i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -18378,7 +18378,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -18414,8 +18414,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find96 - loop $while-continue|0100 + block $__inlined_func$~lib/map/Map#find93 + loop $while-continue|097 local.get $0 if local.get $0 @@ -18426,17 +18426,17 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find96 + br_if $__inlined_func$~lib/map/Map#find93 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|0100 + br $while-continue|097 end end i32.const 0 @@ -18452,8 +18452,8 @@ unreachable end local.get $10 - local.get $2 - local.get $2 + local.get $4 + local.get $4 i32.wrap_i64 local.tee $0 i32.const 10 @@ -18472,7 +18472,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -18508,8 +18508,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find103 - loop $while-continue|0107 + block $__inlined_func$~lib/map/Map#find100 + loop $while-continue|0104 local.get $0 if local.get $0 @@ -18520,17 +18520,17 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find103 + br_if $__inlined_func$~lib/map/Map#find100 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|0107 + br $while-continue|0104 end end i32.const 0 @@ -18547,13 +18547,13 @@ unreachable end local.get $10 - local.get $2 + local.get $4 call $~lib/map/Map#delete local.get $10 i32.load $0 local.get $10 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -18563,7 +18563,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $4 i64.const 32 i64.shr_u i32.wrap_i64 @@ -18599,8 +18599,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find110 - loop $while-continue|0114 + block $__inlined_func$~lib/map/Map#find107 + loop $while-continue|0111 local.get $0 if local.get $0 @@ -18611,17 +18611,17 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $4 local.get $0 i64.load $0 i64.eq end - br_if $__inlined_func$~lib/map/Map#find110 + br_if $__inlined_func$~lib/map/Map#find107 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|0114 + br $while-continue|0111 end end i32.const 0 @@ -18636,10 +18636,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 i64.const 1 i64.add - local.set $2 + local.set $4 br $for-loop|4 end end @@ -18683,11 +18683,11 @@ (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 f32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 f32) (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -18716,7 +18716,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -18732,39 +18732,39 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $8 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 12 i32.mul i32.add - local.set $5 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 - local.get $5 - local.get $8 + local.get $4 + local.get $7 i32.ne if - local.get $8 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $8 + local.get $4 f32.load $0 - local.tee $4 + local.tee $8 f32.store $0 local.get $2 - local.get $8 + local.get $4 i32.load $0 offset=4 i32.store $0 offset=4 local.get $2 - local.get $7 + local.get $5 local.get $1 - local.get $4 + local.get $8 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -18775,23 +18775,23 @@ i32.const 668265263 i32.mul local.tee $9 - local.get $9 i32.const 15 i32.shr_u + local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 - local.get $9 i32.const 13 i32.shr_u + local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 - local.get $9 i32.const 16 i32.shr_u + local.get $9 i32.xor i32.and i32.const 2 @@ -18808,20 +18808,20 @@ i32.add local.set $2 end - local.get $8 + local.get $4 i32.const 12 i32.add - local.set $8 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $7 + local.get $5 i32.store $0 - local.get $7 + local.get $5 if local.get $0 - local.get $7 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -19055,17 +19055,17 @@ (func $std/map/testNumeric (type $none_=>_none) (local $0 i32) (local $1 i32) - (local $2 f32) + (local $2 i32) (local $3 i32) - (local $4 i32) + (local $4 f32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 f32) (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 f32) + (local $12 i32) (local $13 i32) (local $14 i32) (local $15 i32) @@ -19081,11 +19081,11 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 0 i32.const 20 memory.fill $0 - local.get $1 + local.get $2 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -19094,74 +19094,74 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $0 i64.const 0 i64.store $0 - local.get $4 + local.get $0 i32.const 24 i32.const 27 call $~lib/rt/itcms/__new - local.tee $9 + local.tee $11 i32.store $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $0 i32.store $0 offset=4 - local.get $9 - local.get $4 + local.get $11 + local.get $0 i32.store $0 - local.get $4 + local.get $0 if - local.get $9 - local.get $4 + local.get $11 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $9 + local.get $11 i32.const 3 i32.store $0 offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $0 i32.store $0 offset=4 - local.get $9 - local.get $4 + local.get $11 + local.get $0 i32.store $0 offset=8 - local.get $4 + local.get $0 if - local.get $9 - local.get $4 + local.get $11 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $9 + local.get $11 i32.const 4 i32.store $0 offset=12 - local.get $9 + local.get $11 i32.const 0 i32.store $0 offset=16 - local.get $9 + local.get $11 i32.const 0 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $9 + local.get $2 + local.get $11 i32.store $0 loop $for-loop|0 - local.get $2 + local.get $4 f32.const 100 f32.lt if - local.get $9 + local.get $11 i32.load $0 - local.get $9 + local.get $11 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -19171,22 +19171,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -19195,36 +19195,36 @@ i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 block $__inlined_func$~lib/map/Map#find loop $while-continue|0 - local.get $1 + local.get $0 if - local.get $1 + local.get $0 i32.load $0 offset=8 - local.tee $4 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 + local.get $0 f32.load $0 - local.get $2 + local.get $4 f32.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $4 + local.get $2 i32.const -2 i32.and - local.set $1 + local.set $0 br $while-continue|0 end end i32.const 0 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1568 @@ -19233,18 +19233,18 @@ call $~lib/builtins/abort unreachable end - local.get $9 - local.get $2 - local.get $2 + local.get $11 + local.get $4 + local.get $4 i32.trunc_sat_f32_s i32.const 10 i32.add call $~lib/map/Map#set - local.get $9 + local.get $11 i32.load $0 - local.get $9 + local.get $11 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -19254,22 +19254,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -19278,36 +19278,36 @@ i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 block $__inlined_func$~lib/map/Map#find1 loop $while-continue|02 - local.get $1 + local.get $0 if - local.get $1 + local.get $0 i32.load $0 offset=8 - local.tee $4 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 + local.get $0 f32.load $0 - local.get $2 + local.get $4 f32.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $4 + local.get $2 i32.const -2 i32.and - local.set $1 + local.set $0 br $while-continue|02 end end i32.const 0 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.eqz if i32.const 0 @@ -19317,10 +19317,10 @@ call $~lib/builtins/abort unreachable end - local.get $9 - local.get $2 + local.get $11 + local.get $4 call $~lib/map/Map#get - local.get $2 + local.get $4 i32.trunc_sat_f32_s i32.const 10 i32.add @@ -19333,14 +19333,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 f32.const 1 f32.add - local.set $2 + local.set $4 br $for-loop|0 end end - local.get $9 + local.get $11 i32.load $0 offset=20 i32.const 100 i32.ne @@ -19353,17 +19353,17 @@ unreachable end f32.const 0 - local.set $2 + local.set $4 loop $for-loop|1 - local.get $2 + local.get $4 f32.const 100 f32.lt if - local.get $9 + local.get $11 i32.load $0 - local.get $9 + local.get $11 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -19373,23 +19373,23 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 - i32.const 16 + local.tee $0 + local.get $0 + i32.const 16 i32.shr_u i32.xor i32.and @@ -19397,36 +19397,36 @@ i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 block $__inlined_func$~lib/map/Map#find4 loop $while-continue|05 - local.get $1 + local.get $0 if - local.get $1 + local.get $0 i32.load $0 offset=8 - local.tee $4 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 + local.get $0 f32.load $0 - local.get $2 + local.get $4 f32.eq end br_if $__inlined_func$~lib/map/Map#find4 - local.get $4 + local.get $2 i32.const -2 i32.and - local.set $1 + local.set $0 br $while-continue|05 end end i32.const 0 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.eqz if i32.const 0 @@ -19436,10 +19436,10 @@ call $~lib/builtins/abort unreachable end - local.get $9 - local.get $2 + local.get $11 + local.get $4 call $~lib/map/Map#get - local.get $2 + local.get $4 i32.trunc_sat_f32_s i32.const 10 i32.add @@ -19452,18 +19452,18 @@ call $~lib/builtins/abort unreachable end - local.get $9 - local.get $2 - local.get $2 + local.get $11 + local.get $4 + local.get $4 i32.trunc_sat_f32_s i32.const 20 i32.add call $~lib/map/Map#set - local.get $9 + local.get $11 i32.load $0 - local.get $9 + local.get $11 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -19473,22 +19473,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor @@ -19497,36 +19497,36 @@ i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 block $__inlined_func$~lib/map/Map#find7 loop $while-continue|08 - local.get $1 + local.get $0 if - local.get $1 + local.get $0 i32.load $0 offset=8 - local.tee $4 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 + local.get $0 f32.load $0 - local.get $2 + local.get $4 f32.eq end br_if $__inlined_func$~lib/map/Map#find7 - local.get $4 + local.get $2 i32.const -2 i32.and - local.set $1 + local.set $0 br $while-continue|08 end end i32.const 0 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.eqz if i32.const 0 @@ -19536,10 +19536,10 @@ call $~lib/builtins/abort unreachable end - local.get $9 - local.get $2 + local.get $11 + local.get $4 call $~lib/map/Map#get - local.get $2 + local.get $4 i32.trunc_sat_f32_s i32.const 20 i32.add @@ -19552,14 +19552,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 f32.const 1 f32.add - local.set $2 + local.set $4 br $for-loop|1 end end - local.get $9 + local.get $11 i32.load $0 offset=20 i32.const 100 i32.ne @@ -19572,7 +19572,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $9 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -19581,16 +19581,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $7 i32.const 0 i32.store $0 - local.get $9 + local.get $11 i32.load $0 offset=8 - local.set $5 - local.get $9 - i32.load $0 offset=16 local.set $6 - local.get $4 + local.get $11 + i32.load $0 offset=16 + local.set $5 + local.get $7 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -19599,28 +19599,28 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $8 + local.tee $0 i64.const 0 i64.store $0 - local.get $8 + local.get $0 i32.const 16 i32.const 28 call $~lib/rt/itcms/__new - local.tee $10 + local.tee $2 i32.store $0 - local.get $10 + local.get $2 i32.const 0 i32.store $0 - local.get $10 + local.get $2 i32.const 0 i32.store $0 offset=4 - local.get $10 + local.get $2 i32.const 0 i32.store $0 offset=8 - local.get $10 + local.get $2 i32.const 0 i32.store $0 offset=12 - local.get $6 + local.get $5 i32.const 268435455 i32.gt_u if @@ -19633,101 +19633,101 @@ 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 i32.const 2 i32.shl - local.tee $8 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $0 i32.store $0 offset=4 - local.get $10 - local.get $11 + local.get $2 + local.get $0 i32.store $0 - local.get $11 + local.get $0 if - local.get $10 - local.get $11 + local.get $2 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $10 - local.get $11 + local.get $2 + local.get $0 i32.store $0 offset=4 - local.get $10 - local.get $8 + local.get $2 + local.get $3 i32.store $0 offset=8 - local.get $10 - local.get $6 + local.get $2 + local.get $5 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $10 + local.get $7 + local.get $2 i32.store $0 loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s + local.get $5 + local.get $10 + i32.gt_s if - local.get $5 - local.get $3 + local.get $6 + local.get $10 i32.const 12 i32.mul i32.add - local.tee $4 + local.tee $0 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if - local.get $10 + local.get $2 i32.load $0 offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - local.get $4 + local.get $0 f32.load $0 f32.store $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 end - local.get $3 + local.get $10 i32.const 1 i32.add - local.set $3 + local.set $10 br $for-loop|00 end end - local.get $10 - local.get $0 + local.get $2 + local.get $1 i32.const 2 call $~lib/array/ensureCapacity - local.get $10 - local.get $0 + local.get $2 + local.get $1 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $10 + local.get $9 + local.get $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $11 call $~lib/map/Map#values - local.tee $4 + local.tee $10 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -19737,76 +19737,76 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 24 i32.const 29 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $14 i32.store $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=4 - local.get $11 - local.get $1 + local.get $14 + local.get $0 i32.store $0 - local.get $1 + local.get $0 if - local.get $11 - local.get $1 + local.get $14 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $11 + local.get $14 i32.const 3 i32.store $0 offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=4 - local.get $11 - local.get $1 + local.get $14 + local.get $0 i32.store $0 offset=8 - local.get $1 + local.get $0 if - local.get $11 - local.get $1 + local.get $14 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $11 + local.get $14 i32.const 4 i32.store $0 offset=12 - local.get $11 + local.get $14 i32.const 0 i32.store $0 offset=16 - local.get $11 + local.get $14 i32.const 0 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $11 + local.get $1 + local.get $14 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $6 + local.tee $9 i32.store $0 offset=16 loop $for-loop|2 - local.get $7 - local.get $10 + local.get $16 + local.get $2 i32.load $0 offset=12 i32.lt_s if - local.get $7 - local.get $10 + local.get $16 + local.get $2 i32.load $0 offset=12 i32.ge_u if @@ -19817,23 +19817,23 @@ call $~lib/builtins/abort unreachable end - local.get $10 + local.get $2 i32.load $0 offset=4 - local.get $7 + local.get $16 i32.const 2 i32.shl i32.add f32.load $0 - local.set $2 - local.get $4 - local.get $7 + local.set $8 + local.get $10 + local.get $16 call $~lib/array/Array#__get - local.set $5 - local.get $9 + local.set $7 + local.get $11 i32.load $0 - local.get $9 + local.get $11 i32.load $0 offset=4 - local.get $2 + local.get $8 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -19867,36 +19867,36 @@ i32.shl i32.add i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find10 - loop $while-continue|011 - local.get $0 + local.set $1 + block $__inlined_func$~lib/map/Map#find14 + loop $while-continue|015 + local.get $1 if - local.get $0 + local.get $1 i32.load $0 offset=8 - local.tee $1 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $0 + local.get $1 f32.load $0 - local.get $2 + local.get $8 f32.eq end - br_if $__inlined_func$~lib/map/Map#find10 - local.get $1 + br_if $__inlined_func$~lib/map/Map#find14 + local.get $0 i32.const -2 i32.and - local.set $0 - br $while-continue|011 + local.set $1 + br $while-continue|015 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -19906,15 +19906,15 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $11 i32.load $0 - local.get $9 + local.get $11 i32.load $0 offset=4 - local.get $5 + local.get $7 i32.const 20 i32.sub f32.convert_i32_s - local.tee $12 + local.tee $4 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -19948,36 +19948,36 @@ i32.shl i32.add i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find13 - loop $while-continue|014 - local.get $0 + local.set $1 + block $__inlined_func$~lib/map/Map#find17 + loop $while-continue|018 + local.get $1 if - local.get $0 + local.get $1 i32.load $0 offset=8 - local.tee $1 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $0 + local.get $1 f32.load $0 - local.get $12 + local.get $4 f32.eq end - br_if $__inlined_func$~lib/map/Map#find13 - local.get $1 + br_if $__inlined_func$~lib/map/Map#find17 + local.get $0 i32.const -2 i32.and - local.set $0 - br $while-continue|014 + local.set $1 + br $while-continue|018 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -19998,9 +19998,9 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $11 + local.get $14 i32.load $0 - local.get $2 + local.get $8 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20029,58 +20029,58 @@ i32.shr_u local.get $0 i32.xor - local.tee $3 - local.get $11 + local.tee $6 + local.get $14 i32.load $0 offset=4 i32.and i32.const 2 i32.shl i32.add i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find15 - loop $while-continue|016 - local.get $0 + local.set $1 + block $__inlined_func$~lib/map/Map#find19 + loop $while-continue|020 + local.get $1 if - local.get $0 + local.get $1 i32.load $0 offset=8 - local.tee $1 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 - local.get $0 + local.get $8 + local.get $1 f32.load $0 f32.eq end - br_if $__inlined_func$~lib/map/Map#find15 - local.get $1 + br_if $__inlined_func$~lib/map/Map#find19 + local.get $0 i32.const -2 i32.and - local.set $0 - br $while-continue|016 + local.set $1 + br $while-continue|020 end end i32.const 0 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 if - local.get $0 - local.get $2 + local.get $1 + local.get $8 f32.store $0 offset=4 else - local.get $11 + local.get $14 i32.load $0 offset=16 - local.get $11 + local.get $14 i32.load $0 offset=12 i32.eq if - local.get $11 + local.get $14 i32.load $0 offset=20 - local.get $11 + local.get $14 i32.load $0 offset=12 i32.const 3 i32.mul @@ -20088,10 +20088,10 @@ i32.div_s i32.lt_s if (result i32) - local.get $11 + local.get $14 i32.load $0 offset=4 else - local.get $11 + local.get $14 i32.load $0 offset=4 i32.const 1 i32.shl @@ -20119,7 +20119,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $14 + local.tee $12 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -20127,47 +20127,47 @@ i32.shl i32.const 3 i32.div_s - local.tee $15 + local.tee $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $1 i32.store $0 offset=4 - local.get $11 + local.get $14 i32.load $0 offset=8 - local.tee $8 - local.get $11 + local.tee $17 + local.get $14 i32.load $0 offset=16 i32.const 12 i32.mul i32.add - local.set $16 + local.set $15 local.get $1 local.set $0 loop $while-continue|00 - local.get $8 - local.get $16 + local.get $15 + local.get $17 i32.ne if - local.get $8 + local.get $17 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $8 + local.get $17 f32.load $0 - local.tee $12 + local.tee $4 f32.store $0 local.get $0 - local.get $8 + local.get $17 f32.load $0 offset=4 f32.store $0 offset=4 local.get $0 - local.get $14 - local.get $13 local.get $12 + local.get $13 + local.get $4 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20177,33 +20177,33 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $17 + local.tee $3 i32.const 15 i32.shr_u - local.get $17 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $17 + local.tee $3 i32.const 13 i32.shr_u - local.get $17 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $17 + local.tee $3 i32.const 16 i32.shr_u - local.get $17 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add - local.tee $17 + local.tee $3 i32.load $0 i32.store $0 offset=8 - local.get $17 + local.get $3 local.get $0 i32.store $0 local.get $0 @@ -20211,39 +20211,39 @@ i32.add local.set $0 end - local.get $8 + local.get $17 i32.const 12 i32.add - local.set $8 + local.set $17 br $while-continue|00 end end - local.get $11 local.get $14 + local.get $12 i32.store $0 - local.get $14 + local.get $12 if - local.get $11 local.get $14 + local.get $12 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $11 + local.get $14 local.get $13 i32.store $0 offset=4 - local.get $11 + local.get $14 local.get $1 i32.store $0 offset=8 local.get $1 if - local.get $11 + local.get $14 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $11 - local.get $15 + local.get $14 + local.get $5 i32.store $0 offset=12 - local.get $11 - local.get $11 + local.get $14 + local.get $14 i32.load $0 offset=20 i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer @@ -20252,70 +20252,70 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $14 i32.load $0 offset=8 - local.tee $0 + local.tee $1 i32.store $0 - local.get $11 - local.get $11 + local.get $14 + local.get $14 i32.load $0 offset=16 - local.tee $1 + local.tee $0 i32.const 1 i32.add i32.store $0 offset=16 - local.get $0 local.get $1 + local.get $0 i32.const 12 i32.mul i32.add - local.tee $0 - local.get $2 + local.tee $1 + local.get $8 f32.store $0 - local.get $0 - local.get $2 + local.get $1 + local.get $8 f32.store $0 offset=4 - local.get $11 - local.get $11 + local.get $14 + local.get $14 i32.load $0 offset=20 i32.const 1 i32.add i32.store $0 offset=20 - local.get $0 - local.get $11 + local.get $1 + local.get $14 i32.load $0 - local.get $3 - local.get $11 + local.get $6 + local.get $14 i32.load $0 offset=4 i32.and i32.const 2 i32.shl i32.add - local.tee $1 + local.tee $0 i32.load $0 i32.store $0 offset=8 - local.get $1 local.get $0 + local.get $1 i32.store $0 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - local.get $5 + local.get $9 + local.get $7 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $7 + local.get $16 i32.const 1 i32.add - local.set $7 + local.set $16 br $for-loop|2 end end - local.get $11 + local.get $14 i32.load $0 offset=20 i32.const 100 i32.ne @@ -20327,7 +20327,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $9 i32.load $0 offset=20 i32.const 100 i32.ne @@ -20340,17 +20340,17 @@ unreachable end f32.const 0 - local.set $2 + local.set $4 loop $for-loop|3 - local.get $2 + local.get $4 f32.const 50 f32.lt if - local.get $9 + local.get $11 i32.load $0 - local.get $9 + local.get $11 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20384,36 +20384,36 @@ i32.shl i32.add i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find18 - loop $while-continue|019 - local.get $1 + local.set $0 + block $__inlined_func$~lib/map/Map#find24 + loop $while-continue|025 + local.get $0 if - local.get $1 + local.get $0 i32.load $0 offset=8 - local.tee $0 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 + local.get $0 f32.load $0 - local.get $2 + local.get $4 f32.eq end - br_if $__inlined_func$~lib/map/Map#find18 - local.get $0 + br_if $__inlined_func$~lib/map/Map#find24 + local.get $1 i32.const -2 i32.and - local.set $1 - br $while-continue|019 + local.set $0 + br $while-continue|025 end end i32.const 0 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.eqz if i32.const 0 @@ -20423,10 +20423,10 @@ call $~lib/builtins/abort unreachable end - local.get $9 - local.get $2 + local.get $11 + local.get $4 call $~lib/map/Map#get - local.get $2 + local.get $4 i32.trunc_sat_f32_s i32.const 20 i32.add @@ -20439,14 +20439,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 - local.get $2 + local.get $11 + local.get $4 call $~lib/map/Map#delete - local.get $9 + local.get $11 i32.load $0 - local.get $9 + local.get $11 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20480,36 +20480,36 @@ i32.shl i32.add i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find21 - loop $while-continue|022 - local.get $1 + local.set $0 + block $__inlined_func$~lib/map/Map#find27 + loop $while-continue|028 + local.get $0 if - local.get $1 + local.get $0 i32.load $0 offset=8 - local.tee $0 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 + local.get $0 f32.load $0 - local.get $2 + local.get $4 f32.eq end - br_if $__inlined_func$~lib/map/Map#find21 - local.get $0 + br_if $__inlined_func$~lib/map/Map#find27 + local.get $1 i32.const -2 i32.and - local.set $1 - br $while-continue|022 + local.set $0 + br $while-continue|028 end end i32.const 0 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1568 @@ -20518,14 +20518,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 f32.const 1 f32.add - local.set $2 + local.set $4 br $for-loop|3 end end - local.get $9 + local.get $11 i32.load $0 offset=20 i32.const 50 i32.ne @@ -20538,17 +20538,17 @@ unreachable end f32.const 0 - local.set $2 + local.set $4 loop $for-loop|4 - local.get $2 + local.get $4 f32.const 50 f32.lt if - local.get $9 + local.get $11 i32.load $0 - local.get $9 + local.get $11 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20582,36 +20582,36 @@ i32.shl i32.add i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find24 - loop $while-continue|025 - local.get $1 + local.set $0 + block $__inlined_func$~lib/map/Map#find30 + loop $while-continue|031 + local.get $0 if - local.get $1 + local.get $0 i32.load $0 offset=8 - local.tee $0 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 + local.get $0 f32.load $0 - local.get $2 + local.get $4 f32.eq end - br_if $__inlined_func$~lib/map/Map#find24 - local.get $0 + br_if $__inlined_func$~lib/map/Map#find30 + local.get $1 i32.const -2 i32.and - local.set $1 - br $while-continue|025 + local.set $0 + br $while-continue|031 end end i32.const 0 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1568 @@ -20620,18 +20620,18 @@ call $~lib/builtins/abort unreachable end - local.get $9 - local.get $2 - local.get $2 + local.get $11 + local.get $4 + local.get $4 i32.trunc_sat_f32_s i32.const 10 i32.add call $~lib/map/Map#set - local.get $9 + local.get $11 i32.load $0 - local.get $9 + local.get $11 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20665,36 +20665,36 @@ i32.shl i32.add i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find27 - loop $while-continue|028 - local.get $1 + local.set $0 + block $__inlined_func$~lib/map/Map#find33 + loop $while-continue|034 + local.get $0 if - local.get $1 + local.get $0 i32.load $0 offset=8 - local.tee $0 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 + local.get $0 f32.load $0 - local.get $2 + local.get $4 f32.eq end - br_if $__inlined_func$~lib/map/Map#find27 - local.get $0 + br_if $__inlined_func$~lib/map/Map#find33 + local.get $1 i32.const -2 i32.and - local.set $1 - br $while-continue|028 + local.set $0 + br $while-continue|034 end end i32.const 0 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.eqz if i32.const 0 @@ -20704,14 +20704,14 @@ call $~lib/builtins/abort unreachable end - local.get $9 - local.get $2 + local.get $11 + local.get $4 call $~lib/map/Map#delete - local.get $9 + local.get $11 i32.load $0 - local.get $9 + local.get $11 i32.load $0 offset=4 - local.get $2 + local.get $4 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20745,36 +20745,36 @@ i32.shl i32.add i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find30 - loop $while-continue|031 - local.get $1 + local.set $0 + block $__inlined_func$~lib/map/Map#find36 + loop $while-continue|037 + local.get $0 if - local.get $1 + local.get $0 i32.load $0 offset=8 - local.tee $0 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $1 + local.get $0 f32.load $0 - local.get $2 + local.get $4 f32.eq end - br_if $__inlined_func$~lib/map/Map#find30 - local.get $0 + br_if $__inlined_func$~lib/map/Map#find36 + local.get $1 i32.const -2 i32.and - local.set $1 - br $while-continue|031 + local.set $0 + br $while-continue|037 end end i32.const 0 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 if i32.const 0 i32.const 1568 @@ -20783,14 +20783,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 f32.const 1 f32.add - local.set $2 + local.set $4 br $for-loop|4 end end - local.get $9 + local.get $11 i32.load $0 offset=20 i32.const 50 i32.ne @@ -20802,9 +20802,9 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $11 call $~lib/map/Map#clear - local.get $9 + local.get $11 i32.load $0 offset=20 if i32.const 0 @@ -20830,12 +20830,12 @@ (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i64) - (local $5 f64) + (local $4 i32) + (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) + (local $8 f64) + (local $9 i64) (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -20864,7 +20864,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -20872,7 +20872,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $7 + local.tee $6 i32.const 4 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor @@ -20880,41 +20880,41 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $9 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 4 i32.shl i32.add - local.set $6 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 - local.get $6 - local.get $9 + local.get $4 + local.get $7 i32.ne if - local.get $9 + local.get $4 i32.load $0 offset=12 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $9 + local.get $4 f64.load $0 - local.tee $5 + local.tee $8 f64.store $0 local.get $2 - local.get $9 + local.get $4 i32.load $0 offset=8 i32.store $0 offset=8 local.get $2 - local.get $8 - local.get $1 local.get $5 + local.get $1 + local.get $8 i64.reinterpret_f64 - local.tee $4 + local.tee $9 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -20924,7 +20924,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $4 + local.get $9 i64.const 32 i64.shr_u i32.wrap_i64 @@ -20936,23 +20936,23 @@ i32.const 668265263 i32.mul local.tee $10 + local.get $10 i32.const 15 i32.shr_u - local.get $10 i32.xor i32.const -2048144777 i32.mul local.tee $10 + local.get $10 i32.const 13 i32.shr_u - local.get $10 i32.xor i32.const -1028477379 i32.mul local.tee $10 + local.get $10 i32.const 16 i32.shr_u - local.get $10 i32.xor i32.and i32.const 2 @@ -20969,20 +20969,20 @@ i32.add local.set $2 end - local.get $9 + local.get $4 i32.const 16 i32.add - local.set $9 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $8 + local.get $5 i32.store $0 - local.get $8 + local.get $5 if local.get $0 - local.get $8 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -20998,7 +20998,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $7 + local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 @@ -21244,19 +21244,19 @@ (func $std/map/testNumeric (type $none_=>_none) (local $0 i32) (local $1 i32) - (local $2 i64) - (local $3 f64) + (local $2 i32) + (local $3 i64) (local $4 i32) - (local $5 i32) + (local $5 f64) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 f64) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) (local $13 i32) - (local $14 f64) + (local $14 i32) (local $15 i32) (local $16 i32) (local $17 i32) @@ -21271,11 +21271,11 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.const 20 memory.fill $0 - local.get $0 + local.get $1 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -21284,10 +21284,10 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $0 i64.const 0 i64.store $0 - local.get $4 + local.get $0 i32.const 24 i32.const 30 call $~lib/rt/itcms/__new @@ -21295,17 +21295,17 @@ i32.store $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $0 i32.store $0 offset=4 local.get $11 - local.get $4 + local.get $0 i32.store $0 - local.get $4 + local.get $0 if local.get $11 - local.get $4 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $11 @@ -21313,17 +21313,17 @@ i32.store $0 offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $0 i32.store $0 offset=4 local.get $11 - local.get $4 + local.get $0 i32.store $0 offset=8 - local.get $4 + local.get $0 if local.get $11 - local.get $4 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $11 @@ -21339,11 +21339,11 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $11 i32.store $0 loop $for-loop|0 - local.get $3 + local.get $5 f64.const 100 f64.lt if @@ -21351,9 +21351,9 @@ i32.load $0 local.get $11 i32.load $0 offset=4 - local.get $3 + local.get $5 i64.reinterpret_f64 - local.tee $2 + local.tee $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -21363,7 +21363,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -21405,19 +21405,19 @@ if local.get $0 i32.load $0 offset=12 - local.tee $4 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $5 local.get $0 f64.load $0 f64.eq end br_if $__inlined_func$~lib/map/Map#find - local.get $4 + local.get $1 i32.const -2 i32.and local.set $0 @@ -21437,8 +21437,8 @@ unreachable end local.get $11 - local.get $3 - local.get $3 + local.get $5 + local.get $5 i32.trunc_sat_f64_s i32.const 10 i32.add @@ -21447,9 +21447,9 @@ i32.load $0 local.get $11 i32.load $0 offset=4 - local.get $3 + local.get $5 i64.reinterpret_f64 - local.tee $2 + local.tee $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -21459,7 +21459,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -21501,19 +21501,19 @@ if local.get $0 i32.load $0 offset=12 - local.tee $4 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $5 local.get $0 f64.load $0 f64.eq end br_if $__inlined_func$~lib/map/Map#find1 - local.get $4 + local.get $1 i32.const -2 i32.and local.set $0 @@ -21534,9 +21534,9 @@ unreachable end local.get $11 - local.get $3 + local.get $5 call $~lib/map/Map#get - local.get $3 + local.get $5 i32.trunc_sat_f64_s i32.const 10 i32.add @@ -21549,10 +21549,10 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $5 f64.const 1 f64.add - local.set $3 + local.set $5 br $for-loop|0 end end @@ -21569,9 +21569,9 @@ unreachable end f64.const 0 - local.set $3 + local.set $5 loop $for-loop|1 - local.get $3 + local.get $5 f64.const 100 f64.lt if @@ -21579,9 +21579,9 @@ i32.load $0 local.get $11 i32.load $0 offset=4 - local.get $3 + local.get $5 i64.reinterpret_f64 - local.tee $2 + local.tee $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -21591,7 +21591,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -21633,19 +21633,19 @@ if local.get $0 i32.load $0 offset=12 - local.tee $4 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $5 local.get $0 f64.load $0 f64.eq end br_if $__inlined_func$~lib/map/Map#find8 - local.get $4 + local.get $1 i32.const -2 i32.and local.set $0 @@ -21666,9 +21666,9 @@ unreachable end local.get $11 - local.get $3 + local.get $5 call $~lib/map/Map#get - local.get $3 + local.get $5 i32.trunc_sat_f64_s i32.const 10 i32.add @@ -21682,8 +21682,8 @@ unreachable end local.get $11 - local.get $3 - local.get $3 + local.get $5 + local.get $5 i32.trunc_sat_f64_s i32.const 20 i32.add @@ -21692,9 +21692,9 @@ i32.load $0 local.get $11 i32.load $0 offset=4 - local.get $3 + local.get $5 i64.reinterpret_f64 - local.tee $2 + local.tee $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -21704,7 +21704,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -21746,19 +21746,19 @@ if local.get $0 i32.load $0 offset=12 - local.tee $4 + local.tee $1 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $3 + local.get $5 local.get $0 f64.load $0 f64.eq end br_if $__inlined_func$~lib/map/Map#find15 - local.get $4 + local.get $1 i32.const -2 i32.and local.set $0 @@ -21779,9 +21779,9 @@ unreachable end local.get $11 - local.get $3 + local.get $5 call $~lib/map/Map#get - local.get $3 + local.get $5 i32.trunc_sat_f64_s i32.const 20 i32.add @@ -21794,10 +21794,10 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $5 f64.const 1 f64.add - local.set $3 + local.set $5 br $for-loop|1 end end @@ -21814,7 +21814,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $9 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -21823,16 +21823,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $7 i32.const 0 i32.store $0 local.get $11 i32.load $0 offset=8 - local.set $5 + local.set $6 local.get $11 i32.load $0 offset=16 - local.set $6 - local.get $0 + local.set $4 + local.get $7 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -21841,28 +21841,28 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $0 i64.const 0 i64.store $0 - local.get $7 + local.get $0 i32.const 16 i32.const 31 call $~lib/rt/itcms/__new - local.tee $12 + local.tee $2 i32.store $0 - local.get $12 + local.get $2 i32.const 0 i32.store $0 - local.get $12 + local.get $2 i32.const 0 i32.store $0 offset=4 - local.get $12 + local.get $2 i32.const 0 i32.store $0 offset=8 - local.get $12 + local.get $2 i32.const 0 i32.store $0 offset=12 - local.get $6 + local.get $4 i32.const 134217727 i32.gt_u if @@ -21875,68 +21875,68 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $6 - local.get $6 + local.get $4 + local.get $4 i32.const 8 i32.le_u select i32.const 3 i32.shl - local.tee $7 + local.tee $1 i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $0 i32.store $0 offset=4 - local.get $12 - local.get $8 + local.get $2 + local.get $0 i32.store $0 - local.get $8 + local.get $0 if - local.get $12 - local.get $8 + local.get $2 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $12 - local.get $8 + local.get $2 + local.get $0 i32.store $0 offset=4 - local.get $12 - local.get $7 + local.get $2 + local.get $1 i32.store $0 offset=8 - local.get $12 - local.get $6 + local.get $2 + local.get $4 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $12 + local.get $7 + local.get $2 i32.store $0 i32.const 0 local.set $0 loop $for-loop|03 - local.get $1 - local.get $6 - i32.lt_s + local.get $4 + local.get $10 + i32.gt_s if - local.get $5 - local.get $1 + local.get $6 + local.get $10 i32.const 4 i32.shl i32.add - local.tee $7 + local.tee $1 i32.load $0 offset=12 i32.const 1 i32.and i32.eqz if - local.get $12 + local.get $2 i32.load $0 offset=4 local.get $0 i32.const 3 i32.shl i32.add - local.get $7 + local.get $1 f64.load $0 f64.store $0 local.get $0 @@ -21944,34 +21944,34 @@ i32.add local.set $0 end - local.get $1 + local.get $10 i32.const 1 i32.add - local.set $1 + local.set $10 br $for-loop|03 end end - local.get $12 + local.get $2 local.get $0 i32.const 3 call $~lib/array/ensureCapacity - local.get $12 + local.get $2 local.get $0 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $12 + local.get $9 + local.get $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer local.get $11 call $~lib/map/Map#values - local.tee $6 + local.tee $10 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -21981,76 +21981,76 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 24 i32.const 32 call $~lib/rt/itcms/__new - local.tee $13 + local.tee $14 i32.store $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=4 - local.get $13 - local.get $1 + local.get $14 + local.get $0 i32.store $0 - local.get $1 + local.get $0 if - local.get $13 - local.get $1 + local.get $14 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + local.get $14 i32.const 3 i32.store $0 offset=4 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=4 - local.get $13 - local.get $1 + local.get $14 + local.get $0 i32.store $0 offset=8 - local.get $1 + local.get $0 if - local.get $13 - local.get $1 + local.get $14 + local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + local.get $14 i32.const 4 i32.store $0 offset=12 - local.get $13 + local.get $14 i32.const 0 i32.store $0 offset=16 - local.get $13 + local.get $14 i32.const 0 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $13 + local.get $1 + local.get $14 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $8 + local.tee $9 i32.store $0 offset=16 loop $for-loop|2 - local.get $9 - local.get $12 + local.get $17 + local.get $2 i32.load $0 offset=12 i32.lt_s if - local.get $9 - local.get $12 + local.get $17 + local.get $2 i32.load $0 offset=12 i32.ge_u if @@ -22061,25 +22061,25 @@ call $~lib/builtins/abort unreachable end - local.get $12 + local.get $2 i32.load $0 offset=4 - local.get $9 + local.get $17 i32.const 3 i32.shl i32.add f64.load $0 - local.set $3 - local.get $6 - local.get $9 + local.set $8 + local.get $10 + local.get $17 call $~lib/array/Array#__get local.set $7 local.get $11 i32.load $0 local.get $11 i32.load $0 offset=4 - local.get $3 + local.get $8 i64.reinterpret_f64 - local.tee $2 + local.tee $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -22089,7 +22089,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -22125,8 +22125,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find41 - loop $while-continue|045 + block $__inlined_func$~lib/map/Map#find38 + loop $while-continue|042 local.get $0 if local.get $0 @@ -22137,17 +22137,17 @@ if (result i32) i32.const 0 else - local.get $3 + local.get $8 local.get $0 f64.load $0 f64.eq end - br_if $__inlined_func$~lib/map/Map#find41 + br_if $__inlined_func$~lib/map/Map#find38 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|045 + br $while-continue|042 end end i32.const 0 @@ -22171,9 +22171,9 @@ i32.const 20 i32.sub f64.convert_i32_s - local.tee $14 + local.tee $5 i64.reinterpret_f64 - local.tee $2 + local.tee $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -22183,7 +22183,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -22219,8 +22219,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find48 - loop $while-continue|052 + block $__inlined_func$~lib/map/Map#find45 + loop $while-continue|049 local.get $0 if local.get $0 @@ -22231,17 +22231,17 @@ if (result i32) i32.const 0 else - local.get $14 + local.get $5 local.get $0 f64.load $0 f64.eq end - br_if $__inlined_func$~lib/map/Map#find48 + br_if $__inlined_func$~lib/map/Map#find45 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|052 + br $while-continue|049 end end i32.const 0 @@ -22268,11 +22268,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $13 + local.get $14 i32.load $0 - local.get $3 + local.get $8 i64.reinterpret_f64 - local.tee $2 + local.tee $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -22282,7 +22282,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -22312,8 +22312,8 @@ i32.const 16 i32.shr_u i32.xor - local.tee $5 - local.get $13 + local.tee $6 + local.get $14 i32.load $0 offset=4 i32.and i32.const 2 @@ -22322,7 +22322,7 @@ i32.load $0 local.set $0 block $__inlined_func$~lib/map/Map#find - loop $while-continue|059 + loop $while-continue|056 local.get $0 if local.get $0 @@ -22333,7 +22333,7 @@ if (result i32) i32.const 0 else - local.get $3 + local.get $8 local.get $0 f64.load $0 f64.eq @@ -22343,7 +22343,7 @@ i32.const -2 i32.and local.set $0 - br $while-continue|059 + br $while-continue|056 end end i32.const 0 @@ -22352,18 +22352,18 @@ local.get $0 if local.get $0 - local.get $3 + local.get $8 f64.store $0 offset=8 else - local.get $13 + local.get $14 i32.load $0 offset=16 - local.get $13 + local.get $14 i32.load $0 offset=12 i32.eq if - local.get $13 + local.get $14 i32.load $0 offset=20 - local.get $13 + local.get $14 i32.load $0 offset=12 i32.const 3 i32.mul @@ -22371,17 +22371,17 @@ i32.div_s i32.lt_s if (result i32) - local.get $13 + local.get $14 i32.load $0 offset=4 else - local.get $13 + local.get $14 i32.load $0 offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $15 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -22395,14 +22395,14 @@ i64.const 0 i64.store $0 local.get $0 - local.get $15 + local.get $13 i32.const 1 i32.add local.tee $0 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $16 + local.tee $12 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -22410,49 +22410,49 @@ i32.shl i32.const 3 i32.div_s - local.tee $4 + local.tee $16 i32.const 24 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $1 i32.store $0 offset=4 - local.get $13 + local.get $14 i32.load $0 offset=8 - local.tee $10 - local.get $13 + local.tee $18 + local.get $14 i32.load $0 offset=16 i32.const 24 i32.mul i32.add - local.set $17 + local.set $15 local.get $1 local.set $0 loop $while-continue|00 - local.get $10 - local.get $17 + local.get $15 + local.get $18 i32.ne if - local.get $10 + local.get $18 i32.load $0 offset=16 i32.const 1 i32.and i32.eqz if local.get $0 - local.get $10 + local.get $18 f64.load $0 - local.tee $14 + local.tee $5 f64.store $0 local.get $0 - local.get $10 + local.get $18 f64.load $0 offset=8 f64.store $0 offset=8 local.get $0 - local.get $16 - local.get $15 - local.get $14 + local.get $12 + local.get $13 + local.get $5 i64.reinterpret_f64 - local.tee $2 + local.tee $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -22462,7 +22462,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -22473,22 +22473,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $18 - local.get $18 + local.tee $4 + local.get $4 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $18 - local.get $18 + local.tee $4 + local.get $4 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $18 - local.get $18 + local.tee $4 + local.get $4 i32.const 16 i32.shr_u i32.xor @@ -22496,10 +22496,10 @@ i32.const 2 i32.shl i32.add - local.tee $18 + local.tee $4 i32.load $0 i32.store $0 offset=16 - local.get $18 + local.get $4 local.get $0 i32.store $0 local.get $0 @@ -22507,39 +22507,39 @@ i32.add local.set $0 end - local.get $10 + local.get $18 i32.const 24 i32.add - local.set $10 + local.set $18 br $while-continue|00 end end - local.get $13 - local.get $16 + local.get $14 + local.get $12 i32.store $0 - local.get $16 + local.get $12 if - local.get $13 - local.get $16 + local.get $14 + local.get $12 call $byn-split-outlined-A$~lib/rt/itcms/__link end + local.get $14 local.get $13 - local.get $15 i32.store $0 offset=4 - local.get $13 + local.get $14 local.get $1 i32.store $0 offset=8 local.get $1 if - local.get $13 + local.get $14 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 - local.get $4 + local.get $14 + local.get $16 i32.store $0 offset=12 - local.get $13 - local.get $13 + local.get $14 + local.get $14 i32.load $0 offset=20 i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer @@ -22548,70 +22548,70 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $14 i32.load $0 offset=8 - local.tee $0 + local.tee $1 i32.store $0 - local.get $13 - local.get $13 + local.get $14 + local.get $14 i32.load $0 offset=16 - local.tee $1 + local.tee $0 i32.const 1 i32.add i32.store $0 offset=16 - local.get $0 local.get $1 + local.get $0 i32.const 24 i32.mul i32.add - local.tee $0 - local.get $3 + local.tee $1 + local.get $8 f64.store $0 - local.get $0 - local.get $3 + local.get $1 + local.get $8 f64.store $0 offset=8 - local.get $13 - local.get $13 + local.get $14 + local.get $14 i32.load $0 offset=20 i32.const 1 i32.add i32.store $0 offset=20 - local.get $0 - local.get $13 + local.get $1 + local.get $14 i32.load $0 - local.get $5 - local.get $13 + local.get $6 + local.get $14 i32.load $0 offset=4 i32.and i32.const 2 i32.shl i32.add - local.tee $1 + local.tee $0 i32.load $0 i32.store $0 offset=16 - local.get $1 local.get $0 + local.get $1 i32.store $0 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $9 local.get $7 i32.const 20 i32.sub local.tee $0 local.get $0 call $~lib/map/Map#set - local.get $9 + local.get $17 i32.const 1 i32.add - local.set $9 + local.set $17 br $for-loop|2 end end - local.get $13 + local.get $14 i32.load $0 offset=20 i32.const 100 i32.ne @@ -22623,7 +22623,7 @@ call $~lib/builtins/abort unreachable end - local.get $8 + local.get $9 i32.load $0 offset=20 i32.const 100 i32.ne @@ -22636,9 +22636,9 @@ unreachable end f64.const 0 - local.set $3 + local.set $5 loop $for-loop|3 - local.get $3 + local.get $5 f64.const 50 f64.lt if @@ -22646,9 +22646,9 @@ i32.load $0 local.get $11 i32.load $0 offset=4 - local.get $3 + local.get $5 i64.reinterpret_f64 - local.tee $2 + local.tee $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -22658,7 +22658,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -22694,8 +22694,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find80 - loop $while-continue|084 + block $__inlined_func$~lib/map/Map#find77 + loop $while-continue|081 local.get $0 if local.get $0 @@ -22706,17 +22706,17 @@ if (result i32) i32.const 0 else - local.get $3 + local.get $5 local.get $0 f64.load $0 f64.eq end - br_if $__inlined_func$~lib/map/Map#find80 + br_if $__inlined_func$~lib/map/Map#find77 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|084 + br $while-continue|081 end end i32.const 0 @@ -22733,9 +22733,9 @@ unreachable end local.get $11 - local.get $3 + local.get $5 call $~lib/map/Map#get - local.get $3 + local.get $5 i32.trunc_sat_f64_s i32.const 20 i32.add @@ -22749,15 +22749,15 @@ unreachable end local.get $11 - local.get $3 + local.get $5 call $~lib/map/Map#delete local.get $11 i32.load $0 local.get $11 i32.load $0 offset=4 - local.get $3 + local.get $5 i64.reinterpret_f64 - local.tee $2 + local.tee $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -22767,7 +22767,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -22803,8 +22803,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find87 - loop $while-continue|091 + block $__inlined_func$~lib/map/Map#find84 + loop $while-continue|088 local.get $0 if local.get $0 @@ -22815,17 +22815,17 @@ if (result i32) i32.const 0 else - local.get $3 + local.get $5 local.get $0 f64.load $0 f64.eq end - br_if $__inlined_func$~lib/map/Map#find87 + br_if $__inlined_func$~lib/map/Map#find84 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|091 + br $while-continue|088 end end i32.const 0 @@ -22840,10 +22840,10 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $5 f64.const 1 f64.add - local.set $3 + local.set $5 br $for-loop|3 end end @@ -22860,9 +22860,9 @@ unreachable end f64.const 0 - local.set $3 + local.set $5 loop $for-loop|4 - local.get $3 + local.get $5 f64.const 50 f64.lt if @@ -22870,9 +22870,9 @@ i32.load $0 local.get $11 i32.load $0 offset=4 - local.get $3 + local.get $5 i64.reinterpret_f64 - local.tee $2 + local.tee $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -22882,7 +22882,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -22918,8 +22918,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find96 - loop $while-continue|0100 + block $__inlined_func$~lib/map/Map#find93 + loop $while-continue|097 local.get $0 if local.get $0 @@ -22930,17 +22930,17 @@ if (result i32) i32.const 0 else - local.get $3 + local.get $5 local.get $0 f64.load $0 f64.eq end - br_if $__inlined_func$~lib/map/Map#find96 + br_if $__inlined_func$~lib/map/Map#find93 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|0100 + br $while-continue|097 end end i32.const 0 @@ -22956,8 +22956,8 @@ unreachable end local.get $11 - local.get $3 - local.get $3 + local.get $5 + local.get $5 i32.trunc_sat_f64_s i32.const 10 i32.add @@ -22966,9 +22966,9 @@ i32.load $0 local.get $11 i32.load $0 offset=4 - local.get $3 + local.get $5 i64.reinterpret_f64 - local.tee $2 + local.tee $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -22978,7 +22978,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -23014,8 +23014,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find103 - loop $while-continue|0107 + block $__inlined_func$~lib/map/Map#find100 + loop $while-continue|0104 local.get $0 if local.get $0 @@ -23026,17 +23026,17 @@ if (result i32) i32.const 0 else - local.get $3 + local.get $5 local.get $0 f64.load $0 f64.eq end - br_if $__inlined_func$~lib/map/Map#find103 + br_if $__inlined_func$~lib/map/Map#find100 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|0107 + br $while-continue|0104 end end i32.const 0 @@ -23053,15 +23053,15 @@ unreachable end local.get $11 - local.get $3 + local.get $5 call $~lib/map/Map#delete local.get $11 i32.load $0 local.get $11 i32.load $0 offset=4 - local.get $3 + local.get $5 i64.reinterpret_f64 - local.tee $2 + local.tee $3 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -23071,7 +23071,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $2 + local.get $3 i64.const 32 i64.shr_u i32.wrap_i64 @@ -23107,8 +23107,8 @@ i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find110 - loop $while-continue|0114 + block $__inlined_func$~lib/map/Map#find107 + loop $while-continue|0111 local.get $0 if local.get $0 @@ -23119,17 +23119,17 @@ if (result i32) i32.const 0 else - local.get $3 + local.get $5 local.get $0 f64.load $0 f64.eq end - br_if $__inlined_func$~lib/map/Map#find110 + br_if $__inlined_func$~lib/map/Map#find107 local.get $1 i32.const -2 i32.and local.set $0 - br $while-continue|0114 + br $while-continue|0111 end end i32.const 0 @@ -23144,10 +23144,10 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $5 f64.const 1 f64.add - local.set $3 + local.set $5 br $for-loop|4 end end diff --git a/tests/compiler/std/math.debug.wat b/tests/compiler/std/math.debug.wat index 2c81721bed..84914e9713 100644 --- a/tests/compiler/std/math.debug.wat +++ b/tests/compiler/std/math.debug.wat @@ -155,6 +155,7 @@ i32.sub i32.const 52 i32.sub + return ) (func $~lib/math/NativeMath.scalbn (type $f64_i32_=>_f64) (param $x f64) (param $n i32) (result f64) (local $y f64) @@ -248,6 +249,7 @@ i64.shl f64.reinterpret_i64 f64.mul + return ) (func $std/math/ulperr (type $f64_f64_f64_=>_f64) (param $got f64) (param $want f64) (param $dwant f64) (result f64) (local $x f64) @@ -270,24 +272,30 @@ local.get $want f64.eq if - local.get $got - local.set $x - local.get $x - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.0 (result i32) + local.get $got + local.set $x + local.get $x + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.0 + end i32.const 0 i32.ne - local.get $want - local.set $x|4 - local.get $x|4 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.1 (result i32) + local.get $want + local.set $x|4 + local.get $x|4 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.1 + end i32.const 0 i32.ne i32.eq @@ -324,6 +332,7 @@ call $~lib/math/NativeMath.scalbn local.get $dwant f64.add + return ) (func $std/math/check (type $f64_f64_f64_i32_=>_i32) (param $actual f64) (param $expected f64) (param $dy f64) (param $flags i32) (result i32) (local $d f64) @@ -361,6 +370,7 @@ return end i32.const 1 + return ) (func $std/math/eulpf (type $f32_=>_i32) (param $x f32) (result i32) (local $u i32) @@ -387,6 +397,7 @@ i32.sub i32.const 23 i32.sub + return ) (func $~lib/math/NativeMathf.scalbn (type $f32_i32_=>_f32) (param $x f32) (param $n i32) (result f32) (local $y f32) @@ -479,6 +490,7 @@ i32.shl f32.reinterpret_i32 f32.mul + return ) (func $std/math/ulperrf (type $f32_f32_f32_=>_f32) (param $got f32) (param $want f32) (param $dwant f32) (result f32) (local $x f32) @@ -501,20 +513,26 @@ local.get $want f32.eq if - local.get $got - local.set $x - local.get $x - i32.reinterpret_f32 - i32.const 31 - i32.shr_u + block $~lib/math/NativeMathf.signbit|inlined.0 (result i32) + local.get $got + local.set $x + local.get $x + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMathf.signbit|inlined.0 + end i32.const 0 i32.ne - local.get $want - local.set $x|4 - local.get $x|4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u + block $~lib/math/NativeMathf.signbit|inlined.1 (result i32) + local.get $want + local.set $x|4 + local.get $x|4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMathf.signbit|inlined.1 + end i32.const 0 i32.ne i32.eq @@ -551,6 +569,7 @@ call $~lib/math/NativeMathf.scalbn local.get $dwant f32.add + return ) (func $std/math/check (type $f32_f32_f32_i32_=>_i32) (param $actual f32) (param $expected f32) (param $dy f32) (param $flags i32) (result i32) (local $d f32) @@ -592,6 +611,7 @@ return end i32.const 1 + return ) (func $std/math/test_scalbn (type $f64_i32_f64_f64_i32_=>_i32) (param $value f64) (param $n i32) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -601,6 +621,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $std/math/test_scalbnf (type $f32_i32_f32_f32_i32_=>_i32) (param $value f32) (param $n i32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -610,13 +631,17 @@ local.get $error local.get $flags call $std/math/check + return ) (func $std/math/test_abs (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) (local $x f64) - local.get $value - local.set $x - local.get $x - f64.abs + block $~lib/math/NativeMath.abs|inlined.0 (result f64) + local.get $value + local.set $x + local.get $x + f64.abs + br $~lib/math/NativeMath.abs|inlined.0 + end local.get $expected local.get $error local.get $flags @@ -631,17 +656,22 @@ else i32.const 0 end + return ) (func $std/math/test_absf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) (local $x f32) - local.get $value - local.set $x - local.get $x - f32.abs + block $~lib/math/NativeMathf.abs|inlined.0 (result f32) + local.get $value + local.set $x + local.get $x + f32.abs + br $~lib/math/NativeMathf.abs|inlined.0 + end local.get $expected local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/R (type $f64_=>_f64) (param $z f64) (result f64) (local $p f64) @@ -691,6 +721,7 @@ local.get $p local.get $q f64.div + return ) (func $~lib/math/NativeMath.acos (type $f64_=>_f64) (param $x f64) (result f64) (local $hx i32) @@ -843,6 +874,7 @@ local.get $w f64.add f64.mul + return ) (func $std/math/test_acos (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -861,6 +893,7 @@ else i32.const 0 end + return ) (func $~lib/math/Rf (type $f32_=>_f32) (param $z f32) (result f32) (local $p f32) @@ -886,6 +919,7 @@ local.get $p local.get $q f32.div + return ) (func $~lib/math/NativeMathf.acos (type $f32_=>_f32) (param $x f32) (result f32) (local $hx i32) @@ -1024,6 +1058,7 @@ local.get $w f32.add f32.mul + return ) (func $std/math/test_acosf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -1032,6 +1067,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.log1p (type $f64_=>_f64) (param $x f64) (result f64) (local $u i64) @@ -1276,6 +1312,7 @@ f64.const 0.6931471803691238 f64.mul f64.add + return ) (func $~lib/math/NativeMath.log (type $f64_=>_f64) (param $x f64) (result f64) (local $x|1 f64) @@ -1616,6 +1653,7 @@ f64.add local.get $hi|25 f64.add + br $~lib/util/math/log_lut|inlined.0 end return ) @@ -1696,6 +1734,7 @@ call $~lib/math/NativeMath.log f64.const 0.6931471805599453 f64.add + return ) (func $std/math/test_acosh (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -1714,6 +1753,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.log1p (type $f32_=>_f32) (param $x f32) (result f32) (local $ix i32) @@ -1925,6 +1965,7 @@ f32.const 0.6931381225585938 f32.mul f32.add + return ) (func $~lib/math/NativeMathf.log (type $f32_=>_f32) (param $x f32) (result f32) (local $x|1 f32) @@ -2094,6 +2135,7 @@ local.set $y local.get $y f32.demote_f64 + br $~lib/util/math/logf_lut|inlined.0 end return ) @@ -2160,6 +2202,7 @@ call $~lib/math/NativeMathf.log f32.const 0.6931471824645996 f32.add + return ) (func $std/math/test_acoshf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -2168,6 +2211,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.asin (type $f64_=>_f64) (param $x f64) (result f64) (local $hx i32) @@ -2325,6 +2369,7 @@ i32.const 0 i32.lt_s select + return ) (func $std/math/test_asin (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -2343,6 +2388,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.asin (type $f32_=>_f32) (param $x f32) (result f32) (local $sx f32) @@ -2435,6 +2481,7 @@ local.get $x local.get $sx f32.copysign + return ) (func $std/math/test_asinf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -2443,6 +2490,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.asinh (type $f64_=>_f64) (param $x f64) (result f64) (local $u i64) @@ -2525,6 +2573,7 @@ local.get $y local.get $x f64.copysign + return ) (func $std/math/test_asinh (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -2543,6 +2592,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.asinh (type $f32_=>_f32) (param $x f32) (result f32) (local $u i32) @@ -2624,6 +2674,7 @@ local.get $y local.get $x f32.copysign + return ) (func $std/math/test_asinhf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -2632,6 +2683,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.atan (type $f64_=>_f64) (param $x f64) (result f64) (local $ix i32) @@ -2890,6 +2942,7 @@ local.get $z local.get $sx f64.copysign + return ) (func $std/math/test_atan (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -2908,6 +2961,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.atan (type $f32_=>_f32) (param $x f32) (result f32) (local $ix i32) @@ -3138,6 +3192,7 @@ local.get $z local.get $sx f32.copysign + return ) (func $std/math/test_atanf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -3146,6 +3201,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.atanh (type $f64_=>_f64) (param $x f64) (result f64) (local $u i64) @@ -3209,6 +3265,7 @@ local.get $y local.get $x f64.copysign + return ) (func $std/math/test_atanh (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -3227,6 +3284,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.atanh (type $f32_=>_f32) (param $x f32) (result f32) (local $u i32) @@ -3285,6 +3343,7 @@ local.get $y local.get $x f32.copysign + return ) (func $std/math/test_atanhf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -3293,6 +3352,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.atan2 (type $f64_f64_=>_f64) (param $y f64) (param $x f64) (result f64) (local $u i64) @@ -3619,6 +3679,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.atan2 (type $f32_f32_=>_f32) (param $y f32) (param $x f32) (result f32) (local $ix i32) @@ -3906,6 +3967,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.cbrt (type $f64_=>_f64) (param $x f64) (result f64) (local $u i64) @@ -4050,6 +4112,7 @@ f64.add local.set $t local.get $t + return ) (func $std/math/test_cbrt (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -4068,6 +4131,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.cbrt (type $f32_=>_f32) (param $x f32) (result f32) (local $u i32) @@ -4184,6 +4248,7 @@ local.set $t local.get $t f32.demote_f64 + return ) (func $std/math/test_cbrtf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -4192,13 +4257,17 @@ local.get $error local.get $flags call $std/math/check + return ) (func $std/math/test_ceil (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) (local $x f64) - local.get $value - local.set $x - local.get $x - f64.ceil + block $~lib/math/NativeMath.ceil|inlined.0 (result f64) + local.get $value + local.set $x + local.get $x + f64.ceil + br $~lib/math/NativeMath.ceil|inlined.0 + end local.get $expected local.get $error local.get $flags @@ -4213,17 +4282,22 @@ else i32.const 0 end + return ) (func $std/math/test_ceilf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) (local $x f32) - local.get $value - local.set $x - local.get $x - f32.ceil + block $~lib/math/NativeMathf.ceil|inlined.0 (result f32) + local.get $value + local.set $x + local.get $x + f32.ceil + br $~lib/math/NativeMathf.ceil|inlined.0 + end local.get $expected local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/pio2_large_quot (type $f64_i64_=>_i32) (param $x f64) (param $u i64) (result i32) (local $magnitude i64) @@ -4357,69 +4431,72 @@ i64.const 4503599627370496 i64.or local.set $significand - local.get $s1 - local.set $u|15 - local.get $significand - local.set $v - local.get $u|15 - i64.const 4294967295 - i64.and - local.set $u1 - local.get $v - i64.const 4294967295 - i64.and - local.set $v1 - local.get $u|15 - i64.const 32 - i64.shr_u - local.set $u|15 - local.get $v - i64.const 32 - i64.shr_u - local.set $v - local.get $u1 - local.get $v1 - i64.mul - local.set $t - local.get $t - i64.const 4294967295 - i64.and - local.set $w0 - local.get $u|15 - local.get $v1 - i64.mul - local.get $t - i64.const 32 - i64.shr_u - i64.add - local.set $t - local.get $t - i64.const 32 - i64.shr_u - local.set $w1 - local.get $u1 - local.get $v - i64.mul - local.get $t - i64.const 4294967295 - i64.and - i64.add - local.set $t - local.get $u|15 - local.get $v - i64.mul - local.get $w1 - i64.add - local.get $t - i64.const 32 - i64.shr_u - i64.add - global.set $~lib/math/res128_hi - local.get $t - i64.const 32 - i64.shl - local.get $w0 - i64.add + block $~lib/math/umuldi|inlined.0 (result i64) + local.get $s1 + local.set $u|15 + local.get $significand + local.set $v + local.get $u|15 + i64.const 4294967295 + i64.and + local.set $u1 + local.get $v + i64.const 4294967295 + i64.and + local.set $v1 + local.get $u|15 + i64.const 32 + i64.shr_u + local.set $u|15 + local.get $v + i64.const 32 + i64.shr_u + local.set $v + local.get $u1 + local.get $v1 + i64.mul + local.set $t + local.get $t + i64.const 4294967295 + i64.and + local.set $w0 + local.get $u|15 + local.get $v1 + i64.mul + local.get $t + i64.const 32 + i64.shr_u + i64.add + local.set $t + local.get $t + i64.const 32 + i64.shr_u + local.set $w1 + local.get $u1 + local.get $v + i64.mul + local.get $t + i64.const 4294967295 + i64.and + i64.add + local.set $t + local.get $u|15 + local.get $v + i64.mul + local.get $w1 + i64.add + local.get $t + i64.const 32 + i64.shr_u + i64.add + global.set $~lib/math/res128_hi + local.get $t + i64.const 32 + i64.shl + local.get $w0 + i64.add + br $~lib/math/umuldi|inlined.0 + end local.set $blo global.get $~lib/math/res128_hi local.set $bhi @@ -4475,142 +4552,148 @@ i64.sub local.set $q i64.const 4372995238176751616 - local.get $rlo - local.get $slo - i64.xor - local.set $q0 - local.get $rhi - local.get $shi - i64.xor - local.set $q1 - local.get $q1 - i64.clz - local.set $shift|35 - local.get $q1 - local.get $shift|35 - i64.shl - local.get $q0 - i64.const 64 - local.get $shift|35 - i64.sub - i64.shr_u - i64.or - local.set $q1 - local.get $q0 - local.get $shift|35 - i64.shl - local.set $q0 - i64.const -3958705157555305932 - local.set $u|36 - local.get $q1 - local.set $v|37 - local.get $u|36 - i64.const 4294967295 - i64.and - local.set $u1|38 - local.get $v|37 - i64.const 4294967295 - i64.and - local.set $v1|39 - local.get $u|36 - i64.const 32 - i64.shr_u - local.set $u|36 - local.get $v|37 - i64.const 32 - i64.shr_u - local.set $v|37 - local.get $u1|38 - local.get $v1|39 - i64.mul - local.set $t|42 - local.get $t|42 - i64.const 4294967295 - i64.and - local.set $w0|40 - local.get $u|36 - local.get $v1|39 - i64.mul - local.get $t|42 - i64.const 32 - i64.shr_u - i64.add - local.set $t|42 - local.get $t|42 - i64.const 32 - i64.shr_u - local.set $w1|41 - local.get $u1|38 - local.get $v|37 - i64.mul - local.get $t|42 - i64.const 4294967295 - i64.and - i64.add - local.set $t|42 - local.get $u|36 - local.get $v|37 - i64.mul - local.get $w1|41 - i64.add - local.get $t|42 - i64.const 32 - i64.shr_u - i64.add - global.set $~lib/math/res128_hi - local.get $t|42 - i64.const 32 - i64.shl - local.get $w0|40 - i64.add - local.set $lo - global.get $~lib/math/res128_hi - local.set $hi - local.get $hi - i64.const 11 - i64.shr_u - local.set $ahi|45 - local.get $lo - i64.const 11 - i64.shr_u - local.get $hi - i64.const 53 - i64.shl - i64.or - local.set $alo - f64.const 2.6469779601696886e-23 - i64.const -4267615245585081135 - f64.convert_i64_u - f64.mul - local.get $q1 - f64.convert_i64_u - f64.mul - f64.const 2.6469779601696886e-23 - i64.const -3958705157555305932 - f64.convert_i64_u - f64.mul - local.get $q0 - f64.convert_i64_u - f64.mul - f64.add - i64.trunc_sat_f64_u - local.set $blo|47 - local.get $ahi|45 - local.get $lo - local.get $blo|47 - i64.lt_u - i64.extend_i32_u - i64.add - f64.convert_i64_u - global.set $~lib/math/rempio2_y0 - f64.const 5.421010862427522e-20 - local.get $alo - local.get $blo|47 - i64.add - f64.convert_i64_u - f64.mul - global.set $~lib/math/rempio2_y1 - local.get $shift|35 + block $~lib/math/pio2_right|inlined.0 (result i64) + local.get $rlo + local.get $slo + i64.xor + local.set $q0 + local.get $rhi + local.get $shi + i64.xor + local.set $q1 + local.get $q1 + i64.clz + local.set $shift|35 + local.get $q1 + local.get $shift|35 + i64.shl + local.get $q0 + i64.const 64 + local.get $shift|35 + i64.sub + i64.shr_u + i64.or + local.set $q1 + local.get $q0 + local.get $shift|35 + i64.shl + local.set $q0 + block $~lib/math/umuldi|inlined.1 (result i64) + i64.const -3958705157555305932 + local.set $u|36 + local.get $q1 + local.set $v|37 + local.get $u|36 + i64.const 4294967295 + i64.and + local.set $u1|38 + local.get $v|37 + i64.const 4294967295 + i64.and + local.set $v1|39 + local.get $u|36 + i64.const 32 + i64.shr_u + local.set $u|36 + local.get $v|37 + i64.const 32 + i64.shr_u + local.set $v|37 + local.get $u1|38 + local.get $v1|39 + i64.mul + local.set $t|42 + local.get $t|42 + i64.const 4294967295 + i64.and + local.set $w0|40 + local.get $u|36 + local.get $v1|39 + i64.mul + local.get $t|42 + i64.const 32 + i64.shr_u + i64.add + local.set $t|42 + local.get $t|42 + i64.const 32 + i64.shr_u + local.set $w1|41 + local.get $u1|38 + local.get $v|37 + i64.mul + local.get $t|42 + i64.const 4294967295 + i64.and + i64.add + local.set $t|42 + local.get $u|36 + local.get $v|37 + i64.mul + local.get $w1|41 + i64.add + local.get $t|42 + i64.const 32 + i64.shr_u + i64.add + global.set $~lib/math/res128_hi + local.get $t|42 + i64.const 32 + i64.shl + local.get $w0|40 + i64.add + br $~lib/math/umuldi|inlined.1 + end + local.set $lo + global.get $~lib/math/res128_hi + local.set $hi + local.get $hi + i64.const 11 + i64.shr_u + local.set $ahi|45 + local.get $lo + i64.const 11 + i64.shr_u + local.get $hi + i64.const 53 + i64.shl + i64.or + local.set $alo + f64.const 2.6469779601696886e-23 + i64.const -4267615245585081135 + f64.convert_i64_u + f64.mul + local.get $q1 + f64.convert_i64_u + f64.mul + f64.const 2.6469779601696886e-23 + i64.const -3958705157555305932 + f64.convert_i64_u + f64.mul + local.get $q0 + f64.convert_i64_u + f64.mul + f64.add + i64.trunc_sat_f64_u + local.set $blo|47 + local.get $ahi|45 + local.get $lo + local.get $blo|47 + i64.lt_u + i64.extend_i32_u + i64.add + f64.convert_i64_u + global.set $~lib/math/rempio2_y0 + f64.const 5.421010862427522e-20 + local.get $alo + local.get $blo|47 + i64.add + f64.convert_i64_u + f64.mul + global.set $~lib/math/rempio2_y1 + local.get $shift|35 + br $~lib/math/pio2_right|inlined.0 + end i64.const 52 i64.shl i64.sub @@ -4636,6 +4719,7 @@ global.set $~lib/math/rempio2_y1 local.get $q i32.wrap_i64 + return ) (func $~lib/math/NativeMath.cos (type $f64_=>_f64) (param $x f64) (result f64) (local $u i64) @@ -4709,67 +4793,70 @@ f64.const 1 return end - local.get $x - local.set $x|4 - f64.const 0 - local.set $y - local.get $x|4 - local.get $x|4 - f64.mul - local.set $z - local.get $z - local.get $z - f64.mul - local.set $w - local.get $z - f64.const 0.0416666666666666 - local.get $z - f64.const -0.001388888888887411 - local.get $z - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $w - local.get $w - f64.mul - f64.const -2.7557314351390663e-07 - local.get $z - f64.const 2.087572321298175e-09 - local.get $z - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $r - f64.const 0.5 - local.get $z - f64.mul - local.set $hz - f64.const 1 - local.get $hz - f64.sub - local.set $w - local.get $w - f64.const 1 - local.get $w - f64.sub - local.get $hz - f64.sub - local.get $z - local.get $r - f64.mul - local.get $x|4 - local.get $y - f64.mul - f64.sub - f64.add - f64.add + block $~lib/math/cos_kern|inlined.0 (result f64) + local.get $x + local.set $x|4 + f64.const 0 + local.set $y + local.get $x|4 + local.get $x|4 + f64.mul + local.set $z + local.get $z + local.get $z + f64.mul + local.set $w + local.get $z + f64.const 0.0416666666666666 + local.get $z + f64.const -0.001388888888887411 + local.get $z + f64.const 2.480158728947673e-05 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.get $w + local.get $w + f64.mul + f64.const -2.7557314351390663e-07 + local.get $z + f64.const 2.087572321298175e-09 + local.get $z + f64.const -1.1359647557788195e-11 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $r + f64.const 0.5 + local.get $z + f64.mul + local.set $hz + f64.const 1 + local.get $hz + f64.sub + local.set $w + local.get $w + f64.const 1 + local.get $w + f64.sub + local.get $hz + f64.sub + local.get $z + local.get $r + f64.mul + local.get $x|4 + local.get $y + f64.mul + f64.sub + f64.add + f64.add + br $~lib/math/cos_kern|inlined.0 + end return end local.get $ux @@ -5024,6 +5111,7 @@ local.get $q|28 local.get $sign|12 select + br $~lib/math/rempio2|inlined.0 end local.set $n global.get $~lib/math/rempio2_y0 @@ -5109,67 +5197,70 @@ unreachable end else - local.get $y0|30 - local.set $x|39 - local.get $y1|31 - local.set $y|40 - local.get $x|39 - local.get $x|39 - f64.mul - local.set $z|41 - local.get $z|41 - local.get $z|41 - f64.mul - local.set $w|42 - local.get $z|41 - f64.const 0.0416666666666666 - local.get $z|41 - f64.const -0.001388888888887411 - local.get $z|41 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $w|42 - local.get $w|42 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $z|41 - f64.const 2.087572321298175e-09 - local.get $z|41 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $r|43 - f64.const 0.5 - local.get $z|41 - f64.mul - local.set $hz|44 - f64.const 1 - local.get $hz|44 - f64.sub - local.set $w|42 - local.get $w|42 - f64.const 1 - local.get $w|42 - f64.sub - local.get $hz|44 - f64.sub - local.get $z|41 - local.get $r|43 - f64.mul - local.get $x|39 - local.get $y|40 - f64.mul - f64.sub - f64.add - f64.add + block $~lib/math/cos_kern|inlined.1 (result f64) + local.get $y0|30 + local.set $x|39 + local.get $y1|31 + local.set $y|40 + local.get $x|39 + local.get $x|39 + f64.mul + local.set $z|41 + local.get $z|41 + local.get $z|41 + f64.mul + local.set $w|42 + local.get $z|41 + f64.const 0.0416666666666666 + local.get $z|41 + f64.const -0.001388888888887411 + local.get $z|41 + f64.const 2.480158728947673e-05 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.get $w|42 + local.get $w|42 + f64.mul + f64.const -2.7557314351390663e-07 + local.get $z|41 + f64.const 2.087572321298175e-09 + local.get $z|41 + f64.const -1.1359647557788195e-11 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $r|43 + f64.const 0.5 + local.get $z|41 + f64.mul + local.set $hz|44 + f64.const 1 + local.get $hz|44 + f64.sub + local.set $w|42 + local.get $w|42 + f64.const 1 + local.get $w|42 + f64.sub + local.get $hz|44 + f64.sub + local.get $z|41 + local.get $r|43 + f64.mul + local.get $x|39 + local.get $y|40 + f64.mul + f64.sub + f64.add + f64.add + br $~lib/math/cos_kern|inlined.1 + end end local.set $x local.get $n @@ -5183,6 +5274,7 @@ else local.get $x end + return ) (func $std/math/test_cos (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -5201,6 +5293,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.cos (type $f32_=>_f32) (param $x f32) (result f32) (local $ux i32) @@ -5290,182 +5383,194 @@ f32.const 1 return end - local.get $x - f64.promote_f32 - local.set $x|3 - local.get $x|3 - local.get $x|3 - f64.mul - local.set $z - local.get $z - local.get $z - f64.mul - local.set $w - f64.const -0.001388676377460993 - local.get $z - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $r - f32.const 1 - f64.promote_f32 - local.get $z - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $w - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $w - local.get $z - f64.mul - local.get $r - f64.mul - f64.add - f32.demote_f64 - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - local.get $ux - i32.const 1081824209 - i32.le_u - if - local.get $ux - i32.const 1075235811 - i32.gt_u - if - local.get $sign - if (result f64) - local.get $x - f64.promote_f32 - f64.const 3.141592653589793 - f64.add - else - local.get $x - f64.promote_f32 - f64.const 3.141592653589793 - f64.sub - end - local.set $x|7 - local.get $x|7 - local.get $x|7 + block $~lib/math/cos_kernf|inlined.0 (result f32) + local.get $x + f64.promote_f32 + local.set $x|3 + local.get $x|3 + local.get $x|3 f64.mul - local.set $z|8 - local.get $z|8 - local.get $z|8 + local.set $z + local.get $z + local.get $z f64.mul - local.set $w|9 + local.set $w f64.const -0.001388676377460993 - local.get $z|8 + local.get $z f64.const 2.439044879627741e-05 f64.mul f64.add - local.set $r|10 + local.set $r f32.const 1 f64.promote_f32 - local.get $z|8 + local.get $z f64.const -0.499999997251031 f64.mul f64.add - local.get $w|9 + local.get $w f64.const 0.04166662332373906 f64.mul f64.add - local.get $w|9 - local.get $z|8 + local.get $w + local.get $z f64.mul - local.get $r|10 + local.get $r f64.mul f64.add f32.demote_f64 - f32.neg - return - else - local.get $sign - if (result f32) - local.get $x - f64.promote_f32 - f64.const 1.5707963267948966 - f64.add - local.set $x|11 - local.get $x|11 - local.get $x|11 - f64.mul - local.set $z|12 - local.get $z|12 - local.get $z|12 - f64.mul - local.set $w|13 - f64.const -1.9839334836096632e-04 - local.get $z|12 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $r|14 - local.get $z|12 - local.get $x|11 - f64.mul - local.set $s - local.get $x|11 - local.get $s - f64.const -0.16666666641626524 - local.get $z|12 - f64.const 0.008333329385889463 - f64.mul - f64.add + br $~lib/math/cos_kernf|inlined.0 + end + return + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + local.get $ux + i32.const 1081824209 + i32.le_u + if + local.get $ux + i32.const 1075235811 + i32.gt_u + if + block $~lib/math/cos_kernf|inlined.1 (result f32) + local.get $sign + if (result f64) + local.get $x + f64.promote_f32 + f64.const 3.141592653589793 + f64.add + else + local.get $x + f64.promote_f32 + f64.const 3.141592653589793 + f64.sub + end + local.set $x|7 + local.get $x|7 + local.get $x|7 f64.mul - f64.add - local.get $s - local.get $w|13 + local.set $z|8 + local.get $z|8 + local.get $z|8 f64.mul - local.get $r|14 + local.set $w|9 + f64.const -0.001388676377460993 + local.get $z|8 + f64.const 2.439044879627741e-05 f64.mul f64.add - f32.demote_f64 - else - f64.const 1.5707963267948966 - local.get $x + local.set $r|10 + f32.const 1 f64.promote_f32 - f64.sub - local.set $x|16 - local.get $x|16 - local.get $x|16 - f64.mul - local.set $z|17 - local.get $z|17 - local.get $z|17 - f64.mul - local.set $w|18 - f64.const -1.9839334836096632e-04 - local.get $z|17 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $r|19 - local.get $z|17 - local.get $x|16 - f64.mul - local.set $s|20 - local.get $x|16 - local.get $s|20 - f64.const -0.16666666641626524 - local.get $z|17 - f64.const 0.008333329385889463 + local.get $z|8 + f64.const -0.499999997251031 f64.mul f64.add + local.get $w|9 + f64.const 0.04166662332373906 f64.mul f64.add - local.get $s|20 - local.get $w|18 + local.get $w|9 + local.get $z|8 f64.mul - local.get $r|19 + local.get $r|10 f64.mul f64.add f32.demote_f64 + br $~lib/math/cos_kernf|inlined.1 + end + f32.neg + return + else + local.get $sign + if (result f32) + block $~lib/math/sin_kernf|inlined.0 (result f32) + local.get $x + f64.promote_f32 + f64.const 1.5707963267948966 + f64.add + local.set $x|11 + local.get $x|11 + local.get $x|11 + f64.mul + local.set $z|12 + local.get $z|12 + local.get $z|12 + f64.mul + local.set $w|13 + f64.const -1.9839334836096632e-04 + local.get $z|12 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $r|14 + local.get $z|12 + local.get $x|11 + f64.mul + local.set $s + local.get $x|11 + local.get $s + f64.const -0.16666666641626524 + local.get $z|12 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $s + local.get $w|13 + f64.mul + local.get $r|14 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/sin_kernf|inlined.0 + end + else + block $~lib/math/sin_kernf|inlined.1 (result f32) + f64.const 1.5707963267948966 + local.get $x + f64.promote_f32 + f64.sub + local.set $x|16 + local.get $x|16 + local.get $x|16 + f64.mul + local.set $z|17 + local.get $z|17 + local.get $z|17 + f64.mul + local.set $w|18 + f64.const -1.9839334836096632e-04 + local.get $z|17 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $r|19 + local.get $z|17 + local.get $x|16 + f64.mul + local.set $s|20 + local.get $x|16 + local.get $s|20 + f64.const -0.16666666641626524 + local.get $z|17 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $s|20 + local.get $w|18 + f64.mul + local.get $r|19 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/sin_kernf|inlined.1 + end end return end @@ -5479,134 +5584,143 @@ i32.const 1085271519 i32.gt_u if - local.get $sign - if (result f64) - local.get $x - f64.promote_f32 - f64.const 6.283185307179586 - f64.add - else - local.get $x - f64.promote_f32 - f64.const 6.283185307179586 - f64.sub - end - local.set $x|21 - local.get $x|21 - local.get $x|21 - f64.mul - local.set $z|22 - local.get $z|22 - local.get $z|22 - f64.mul - local.set $w|23 - f64.const -0.001388676377460993 - local.get $z|22 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $r|24 - f32.const 1 - f64.promote_f32 - local.get $z|22 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $w|23 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $w|23 - local.get $z|22 - f64.mul - local.get $r|24 - f64.mul - f64.add - f32.demote_f64 - return - else - local.get $sign - if (result f32) - local.get $x - f32.neg - f64.promote_f32 - f64.const 4.71238898038469 - f64.sub - local.set $x|25 - local.get $x|25 - local.get $x|25 - f64.mul - local.set $z|26 - local.get $z|26 - local.get $z|26 - f64.mul - local.set $w|27 - f64.const -1.9839334836096632e-04 - local.get $z|26 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $r|28 - local.get $z|26 - local.get $x|25 - f64.mul - local.set $s|29 - local.get $x|25 - local.get $s|29 - f64.const -0.16666666641626524 - local.get $z|26 - f64.const 0.008333329385889463 - f64.mul - f64.add + block $~lib/math/cos_kernf|inlined.2 (result f32) + local.get $sign + if (result f64) + local.get $x + f64.promote_f32 + f64.const 6.283185307179586 + f64.add + else + local.get $x + f64.promote_f32 + f64.const 6.283185307179586 + f64.sub + end + local.set $x|21 + local.get $x|21 + local.get $x|21 f64.mul - f64.add - local.get $s|29 - local.get $w|27 + local.set $z|22 + local.get $z|22 + local.get $z|22 f64.mul - local.get $r|28 + local.set $w|23 + f64.const -0.001388676377460993 + local.get $z|22 + f64.const 2.439044879627741e-05 f64.mul f64.add - f32.demote_f64 - else - local.get $x + local.set $r|24 + f32.const 1 f64.promote_f32 - f64.const 4.71238898038469 - f64.sub - local.set $x|30 - local.get $x|30 - local.get $x|30 - f64.mul - local.set $z|31 - local.get $z|31 - local.get $z|31 - f64.mul - local.set $w|32 - f64.const -1.9839334836096632e-04 - local.get $z|31 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $r|33 - local.get $z|31 - local.get $x|30 - f64.mul - local.set $s|34 - local.get $x|30 - local.get $s|34 - f64.const -0.16666666641626524 - local.get $z|31 - f64.const 0.008333329385889463 + local.get $z|22 + f64.const -0.499999997251031 f64.mul f64.add + local.get $w|23 + f64.const 0.04166662332373906 f64.mul f64.add - local.get $s|34 - local.get $w|32 + local.get $w|23 + local.get $z|22 f64.mul - local.get $r|33 + local.get $r|24 f64.mul f64.add f32.demote_f64 + br $~lib/math/cos_kernf|inlined.2 + end + return + else + local.get $sign + if (result f32) + block $~lib/math/sin_kernf|inlined.2 (result f32) + local.get $x + f32.neg + f64.promote_f32 + f64.const 4.71238898038469 + f64.sub + local.set $x|25 + local.get $x|25 + local.get $x|25 + f64.mul + local.set $z|26 + local.get $z|26 + local.get $z|26 + f64.mul + local.set $w|27 + f64.const -1.9839334836096632e-04 + local.get $z|26 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $r|28 + local.get $z|26 + local.get $x|25 + f64.mul + local.set $s|29 + local.get $x|25 + local.get $s|29 + f64.const -0.16666666641626524 + local.get $z|26 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $s|29 + local.get $w|27 + f64.mul + local.get $r|28 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/sin_kernf|inlined.2 + end + else + block $~lib/math/sin_kernf|inlined.3 (result f32) + local.get $x + f64.promote_f32 + f64.const 4.71238898038469 + f64.sub + local.set $x|30 + local.get $x|30 + local.get $x|30 + f64.mul + local.set $z|31 + local.get $z|31 + local.get $z|31 + f64.mul + local.set $w|32 + f64.const -1.9839334836096632e-04 + local.get $z|31 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $r|33 + local.get $z|31 + local.get $x|30 + f64.mul + local.set $s|34 + local.get $x|30 + local.get $s|34 + f64.const -0.16666666641626524 + local.get $z|31 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $s|34 + local.get $w|32 + f64.mul + local.get $r|33 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/sin_kernf|inlined.3 + end end return end @@ -5653,113 +5767,116 @@ i32.trunc_sat_f64_s br $~lib/math/rempio2f|inlined.0 end - local.get $x|35 - local.set $x|39 - local.get $u - local.set $u|40 - local.get $u|40 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.set $offset - local.get $offset - i32.const 63 - i32.and - i64.extend_i32_s - local.set $shift - i32.const 4608 - local.get $offset - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.add - local.set $tblPtr - local.get $tblPtr - i64.load $0 - local.set $b0 - local.get $tblPtr - i64.load $0 offset=8 - local.set $b1 - local.get $shift - i64.const 32 - i64.gt_u - if + block $~lib/math/pio2f_large_quot|inlined.0 (result i32) + local.get $x|35 + local.set $x|39 + local.get $u + local.set $u|40 + local.get $u|40 + i32.const 23 + i32.shr_s + i32.const 152 + i32.sub + local.set $offset + local.get $offset + i32.const 63 + i32.and + i64.extend_i32_s + local.set $shift + i32.const 4608 + local.get $offset + i32.const 6 + i32.shr_s + i32.const 3 + i32.shl + i32.add + local.set $tblPtr local.get $tblPtr - i64.load $0 offset=16 - local.set $b2 - local.get $b2 - i64.const 96 - local.get $shift - i64.sub - i64.shr_u - local.set $lo - local.get $lo - local.get $b1 + i64.load $0 + local.set $b0 + local.get $tblPtr + i64.load $0 offset=8 + local.set $b1 local.get $shift i64.const 32 - i64.sub - i64.shl - i64.or - local.set $lo - else + i64.gt_u + if + local.get $tblPtr + i64.load $0 offset=16 + local.set $b2 + local.get $b2 + i64.const 96 + local.get $shift + i64.sub + i64.shr_u + local.set $lo + local.get $lo + local.get $b1 + local.get $shift + i64.const 32 + i64.sub + i64.shl + i64.or + local.set $lo + else + local.get $b1 + i64.const 32 + local.get $shift + i64.sub + i64.shr_u + local.set $lo + end local.get $b1 - i64.const 32 + i64.const 64 local.get $shift i64.sub i64.shr_u - local.set $lo + local.get $b0 + local.get $shift + i64.shl + i64.or + local.set $hi + local.get $u|40 + i32.const 8388607 + i32.and + i32.const 8388608 + i32.or + i64.extend_i32_s + local.set $mantissa + local.get $mantissa + local.get $hi + i64.mul + local.get $mantissa + local.get $lo + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $product + local.get $product + i64.const 2 + i64.shl + local.set $r|51 + local.get $product + i64.const 62 + i64.shr_u + local.get $r|51 + i64.const 63 + i64.shr_u + i64.add + i32.wrap_i64 + local.set $q|52 + f64.const 8.515303950216386e-20 + local.get $x|39 + f64.promote_f32 + f64.copysign + local.get $r|51 + f64.convert_i64_s + f64.mul + global.set $~lib/math/rempio2f_y + local.get $q|52 + br $~lib/math/pio2f_large_quot|inlined.0 end - local.get $b1 - i64.const 64 - local.get $shift - i64.sub - i64.shr_u - local.get $b0 - local.get $shift - i64.shl - i64.or - local.set $hi - local.get $u|40 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.set $mantissa - local.get $mantissa - local.get $hi - i64.mul - local.get $mantissa - local.get $lo - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $product - local.get $product - i64.const 2 - i64.shl - local.set $r|51 - local.get $product - i64.const 62 - i64.shr_u - local.get $r|51 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.set $q|52 - f64.const 8.515303950216386e-20 - local.get $x|39 - f64.promote_f32 - f64.copysign - local.get $r|51 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - local.get $q|52 local.set $q|53 i32.const 0 local.get $q|53 @@ -5767,6 +5884,7 @@ local.get $q|53 local.get $sign|37 select + br $~lib/math/rempio2f|inlined.0 end local.set $n global.get $~lib/math/rempio2f_y @@ -5775,76 +5893,82 @@ i32.const 1 i32.and if (result f32) - local.get $y - local.set $x|56 - local.get $x|56 - local.get $x|56 - f64.mul - local.set $z|57 - local.get $z|57 - local.get $z|57 - f64.mul - local.set $w|58 - f64.const -1.9839334836096632e-04 - local.get $z|57 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $r|59 - local.get $z|57 - local.get $x|56 - f64.mul - local.set $s|60 - local.get $x|56 - local.get $s|60 - f64.const -0.16666666641626524 - local.get $z|57 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $s|60 - local.get $w|58 - f64.mul - local.get $r|59 - f64.mul - f64.add - f32.demote_f64 + block $~lib/math/sin_kernf|inlined.4 (result f32) + local.get $y + local.set $x|56 + local.get $x|56 + local.get $x|56 + f64.mul + local.set $z|57 + local.get $z|57 + local.get $z|57 + f64.mul + local.set $w|58 + f64.const -1.9839334836096632e-04 + local.get $z|57 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $r|59 + local.get $z|57 + local.get $x|56 + f64.mul + local.set $s|60 + local.get $x|56 + local.get $s|60 + f64.const -0.16666666641626524 + local.get $z|57 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $s|60 + local.get $w|58 + f64.mul + local.get $r|59 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/sin_kernf|inlined.4 + end else - local.get $y - local.set $x|61 - local.get $x|61 - local.get $x|61 - f64.mul - local.set $z|62 - local.get $z|62 - local.get $z|62 - f64.mul - local.set $w|63 - f64.const -0.001388676377460993 - local.get $z|62 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $r|64 - f32.const 1 - f64.promote_f32 - local.get $z|62 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $w|63 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $w|63 - local.get $z|62 - f64.mul - local.get $r|64 - f64.mul - f64.add - f32.demote_f64 + block $~lib/math/cos_kernf|inlined.3 (result f32) + local.get $y + local.set $x|61 + local.get $x|61 + local.get $x|61 + f64.mul + local.set $z|62 + local.get $z|62 + local.get $z|62 + f64.mul + local.set $w|63 + f64.const -0.001388676377460993 + local.get $z|62 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $r|64 + f32.const 1 + f64.promote_f32 + local.get $z|62 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $w|63 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $w|63 + local.get $z|62 + f64.mul + local.get $r|64 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/cos_kernf|inlined.3 + end end local.set $t local.get $n @@ -5858,6 +5982,7 @@ else local.get $t end + return ) (func $std/math/test_cosf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -5866,6 +5991,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.expm1 (type $f64_=>_f64) (param $x f64) (result f64) (local $u i64) @@ -6179,6 +6305,7 @@ f64.add local.get $twopk f64.mul + return ) (func $~lib/math/NativeMath.exp (type $f64_=>_f64) (param $x f64) (result f64) (local $x|1 f64) @@ -6451,6 +6578,7 @@ local.get $y f64.const 2.2250738585072014e-308 f64.mul + br $~lib/util/math/specialcase|inlined.0 end br $~lib/util/math/exp_lut|inlined.0 end @@ -6462,6 +6590,7 @@ local.get $tmp f64.mul f64.add + br $~lib/util/math/exp_lut|inlined.0 end return ) @@ -6534,34 +6663,38 @@ f64.mul return end - local.get $x - local.set $x|4 - f64.const 1 - local.set $sign - i32.const 1023 - i32.const 2043 - i32.const 2 - i32.div_u - i32.add - i32.const 20 - i32.shl - i64.extend_i32_u - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.set $scale - local.get $x|4 - f64.const 1416.0996898839683 - f64.sub - call $~lib/math/NativeMath.exp - local.get $sign - local.get $scale - f64.mul - f64.mul - local.get $scale - f64.mul + block $~lib/math/expo2|inlined.0 (result f64) + local.get $x + local.set $x|4 + f64.const 1 + local.set $sign + i32.const 1023 + i32.const 2043 + i32.const 2 + i32.div_u + i32.add + i32.const 20 + i32.shl + i64.extend_i32_u + i64.const 32 + i64.shl + f64.reinterpret_i64 + local.set $scale + local.get $x|4 + f64.const 1416.0996898839683 + f64.sub + call $~lib/math/NativeMath.exp + local.get $sign + local.get $scale + f64.mul + f64.mul + local.get $scale + f64.mul + br $~lib/math/expo2|inlined.0 + end local.set $t local.get $t + return ) (func $std/math/test_cosh (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -6580,6 +6713,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.expm1 (type $f32_=>_f32) (param $x f32) (result f32) (local $u i32) @@ -6873,6 +7007,7 @@ f32.add local.get $twopk f32.mul + return ) (func $~lib/math/NativeMathf.exp (type $f32_=>_f32) (param $x f32) (result f32) (local $x|1 f32) @@ -7009,6 +7144,7 @@ local.set $y local.get $y f32.demote_f64 + br $~lib/util/math/expf_lut|inlined.0 end return ) @@ -7076,29 +7212,33 @@ f32.add return end - local.get $x - local.set $x|4 - f32.const 1 - local.set $sign - i32.const 127 - i32.const 235 - i32.const 1 - i32.shr_u - i32.add - i32.const 23 - i32.shl - f32.reinterpret_i32 - local.set $scale - local.get $x|4 - f32.const 162.88958740234375 - f32.sub - call $~lib/math/NativeMathf.exp - local.get $sign - local.get $scale - f32.mul - f32.mul - local.get $scale - f32.mul + block $~lib/math/expo2f|inlined.0 (result f32) + local.get $x + local.set $x|4 + f32.const 1 + local.set $sign + i32.const 127 + i32.const 235 + i32.const 1 + i32.shr_u + i32.add + i32.const 23 + i32.shl + f32.reinterpret_i32 + local.set $scale + local.get $x|4 + f32.const 162.88958740234375 + f32.sub + call $~lib/math/NativeMathf.exp + local.get $sign + local.get $scale + f32.mul + f32.mul + local.get $scale + f32.mul + br $~lib/math/expo2f|inlined.0 + end + return ) (func $std/math/test_coshf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -7107,6 +7247,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $std/math/test_exp (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -7125,6 +7266,7 @@ else i32.const 0 end + return ) (func $std/math/test_expf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -7133,6 +7275,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $std/math/test_expm1 (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -7151,6 +7294,7 @@ else i32.const 0 end + return ) (func $std/math/test_expm1f (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -7159,6 +7303,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.exp2 (type $f64_=>_f64) (param $x f64) (result f64) (local $x|1 f64) @@ -7414,6 +7559,7 @@ local.get $y f64.const 2.2250738585072014e-308 f64.mul + br $~lib/util/math/specialcase2|inlined.0 end br $~lib/util/math/exp2_lut|inlined.0 end @@ -7425,7 +7571,9 @@ f64.mul local.get $scale|20 f64.add + br $~lib/util/math/exp2_lut|inlined.0 end + return ) (func $std/math/test_exp2 (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -7445,6 +7593,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.exp2 (type $f32_=>_f32) (param $x f32) (result f32) (local $x|1 f32) @@ -7568,7 +7717,9 @@ local.set $y local.get $y f32.demote_f64 + br $~lib/util/math/exp2f_lut|inlined.0 end + return ) (func $std/math/test_exp2f (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -7577,13 +7728,17 @@ local.get $error local.get $flags call $std/math/check + return ) (func $std/math/test_floor (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) (local $x f64) - local.get $value - local.set $x - local.get $x - f64.floor + block $~lib/math/NativeMath.floor|inlined.0 (result f64) + local.get $value + local.set $x + local.get $x + f64.floor + br $~lib/math/NativeMath.floor|inlined.0 + end local.get $expected local.get $error local.get $flags @@ -7598,17 +7753,22 @@ else i32.const 0 end + return ) (func $std/math/test_floorf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) (local $x f32) - local.get $value - local.set $x - local.get $x - f32.floor + block $~lib/math/NativeMathf.floor|inlined.0 (result f32) + local.get $value + local.set $x + local.get $x + f32.floor + br $~lib/math/NativeMathf.floor|inlined.0 + end local.get $expected local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.hypot (type $f64_f64_=>_f64) (param $x f64) (param $y f64) (result f64) (local $ux i64) @@ -7808,6 +7968,7 @@ f64.add f64.sqrt f64.mul + return ) (func $std/math/test_hypot (type $f64_f64_f64_f64_i32_=>_i32) (param $value1 f64) (param $value2 f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value1 @@ -7817,6 +7978,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMathf.hypot (type $f32_f32_=>_f32) (param $x f32) (param $y f32) (result f32) (local $ux i32) @@ -7948,6 +8110,7 @@ f32.demote_f64 f32.sqrt f32.mul + return ) (func $std/math/test_hypotf (type $f32_f32_f32_f32_i32_=>_i32) (param $value1 f32) (param $value2 f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value1 @@ -7957,6 +8120,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $std/math/test_log (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -7975,6 +8139,7 @@ else i32.const 0 end + return ) (func $std/math/test_logf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -7983,6 +8148,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.log10 (type $f64_=>_f64) (param $x f64) (result f64) (local $u i64) @@ -8244,6 +8410,7 @@ local.get $val_lo local.get $w f64.add + return ) (func $std/math/test_log10 (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -8262,6 +8429,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.log10 (type $f32_=>_f32) (param $x f32) (result f32) (local $ux i32) @@ -8463,6 +8631,7 @@ f32.const 0.3010292053222656 f32.mul f32.add + return ) (func $std/math/test_log10f (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -8471,6 +8640,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $std/math/test_log1p (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -8489,6 +8659,7 @@ else i32.const 0 end + return ) (func $std/math/test_log1pf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -8497,6 +8668,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.log2 (type $f64_=>_f64) (param $x f64) (result f64) (local $x|1 f64) @@ -8857,6 +9029,7 @@ f64.add local.get $hi|29 f64.add + br $~lib/util/math/log2_lut|inlined.0 end return ) @@ -8877,6 +9050,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.log2 (type $f32_=>_f32) (param $x f32) (result f32) (local $x|1 f32) @@ -9050,6 +9224,7 @@ local.set $y local.get $y f32.demote_f64 + br $~lib/util/math/log2f_lut|inlined.0 end return ) @@ -9060,17 +9235,21 @@ local.get $error local.get $flags call $std/math/check + return ) (func $std/math/test_max (type $f64_f64_f64_f64_i32_=>_i32) (param $left f64) (param $right f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) (local $value1 f64) (local $value2 f64) - local.get $left - local.set $value1 - local.get $right - local.set $value2 - local.get $value1 - local.get $value2 - f64.max + block $~lib/math/NativeMath.max|inlined.0 (result f64) + local.get $left + local.set $value1 + local.get $right + local.set $value2 + local.get $value1 + local.get $value2 + f64.max + br $~lib/math/NativeMath.max|inlined.0 + end local.get $expected local.get $error local.get $flags @@ -9086,32 +9265,40 @@ else i32.const 0 end + return ) (func $std/math/test_maxf (type $f32_f32_f32_f32_i32_=>_i32) (param $left f32) (param $right f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) (local $value1 f32) (local $value2 f32) - local.get $left - local.set $value1 - local.get $right - local.set $value2 - local.get $value1 - local.get $value2 - f32.max + block $~lib/math/NativeMathf.max|inlined.0 (result f32) + local.get $left + local.set $value1 + local.get $right + local.set $value2 + local.get $value1 + local.get $value2 + f32.max + br $~lib/math/NativeMathf.max|inlined.0 + end local.get $expected local.get $error local.get $flags call $std/math/check + return ) (func $std/math/test_min (type $f64_f64_f64_f64_i32_=>_i32) (param $left f64) (param $right f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) (local $value1 f64) (local $value2 f64) - local.get $left - local.set $value1 - local.get $right - local.set $value2 - local.get $value1 - local.get $value2 - f64.min + block $~lib/math/NativeMath.min|inlined.0 (result f64) + local.get $left + local.set $value1 + local.get $right + local.set $value2 + local.get $value1 + local.get $value2 + f64.min + br $~lib/math/NativeMath.min|inlined.0 + end local.get $expected local.get $error local.get $flags @@ -9127,21 +9314,26 @@ else i32.const 0 end + return ) (func $std/math/test_minf (type $f32_f32_f32_f32_i32_=>_i32) (param $left f32) (param $right f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) (local $value1 f32) (local $value2 f32) - local.get $left - local.set $value1 - local.get $right - local.set $value2 - local.get $value1 - local.get $value2 - f32.min + block $~lib/math/NativeMathf.min|inlined.0 (result f32) + local.get $left + local.set $value1 + local.get $right + local.set $value2 + local.get $value1 + local.get $value2 + f32.min + br $~lib/math/NativeMathf.min|inlined.0 + end local.get $expected local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.mod (type $f64_f64_=>_f64) (param $x f64) (param $y f64) (result f64) (local $ux i64) @@ -9396,6 +9588,7 @@ i64.shl i64.or f64.reinterpret_i64 + return ) (func $std/math/test_mod (type $f64_f64_f64_f64_i32_=>_i32) (param $left f64) (param $right f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $left @@ -9416,6 +9609,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.mod (type $f32_f32_=>_f32) (param $x f32) (param $y f32) (result f32) (local $ux i32) @@ -9664,6 +9858,7 @@ local.get $sm i32.or f32.reinterpret_i32 + return ) (func $std/math/test_modf (type $f32_f32_f32_f32_i32_=>_i32) (param $left f32) (param $right f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $left @@ -9673,6 +9868,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.pow (type $f64_f64_=>_f64) (param $x f64) (param $y f64) (result f64) (local $x|2 f64) @@ -9857,17 +10053,20 @@ i64.ge_u end if - local.get $iy - local.set $u - local.get $u - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740992 - i64.const 1 - i64.sub - i64.ge_u + block $~lib/util/math/zeroinfnan|inlined.0 (result i32) + local.get $iy + local.set $u + local.get $u + i64.const 1 + i64.shl + i64.const 1 + i64.sub + i64.const -9007199254740992 + i64.const 1 + i64.sub + i64.ge_u + br $~lib/util/math/zeroinfnan|inlined.0 + end if local.get $iy i64.const 1 @@ -9935,17 +10134,20 @@ f64.mul br $~lib/util/math/pow_lut|inlined.0 end - local.get $ix - local.set $u|10 - local.get $u|10 - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740992 - i64.const 1 - i64.sub - i64.ge_u + block $~lib/util/math/zeroinfnan|inlined.1 (result i32) + local.get $ix + local.set $u|10 + local.get $u|10 + i64.const 1 + i64.shl + i64.const 1 + i64.sub + i64.const -9007199254740992 + i64.const 1 + i64.sub + i64.ge_u + br $~lib/util/math/zeroinfnan|inlined.1 + end if local.get $x|2 local.get $x|2 @@ -10010,6 +10212,7 @@ br $~lib/util/math/checkint|inlined.0 end i32.const 2 + br $~lib/util/math/checkint|inlined.0 end i32.const 1 i32.eq @@ -10091,6 +10294,7 @@ br $~lib/util/math/checkint|inlined.1 end i32.const 2 + br $~lib/util/math/checkint|inlined.1 end local.set $yint local.get $yint @@ -10183,196 +10387,199 @@ local.set $ix end end - local.get $ix - local.set $ix|17 - local.get $ix|17 - i64.const 4604531861337669632 - i64.sub - local.set $tmp - local.get $tmp - i64.const 52 - i32.const 7 - i64.extend_i32_s - i64.sub - i64.shr_u - i32.const 127 - i64.extend_i32_s - i64.and - i32.wrap_i64 - local.set $i - local.get $tmp - i64.const 52 - i64.shr_s - local.set $k - local.get $ix|17 - local.get $tmp - i64.const 4095 - i64.const 52 - i64.shl - i64.and - i64.sub - local.set $iz - local.get $iz - f64.reinterpret_i64 - local.set $z - local.get $k - f64.convert_i64_s - local.set $kd - i32.const 9248 - local.get $i - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load $0 - local.set $invc - i32.const 9248 - local.get $i - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load $0 offset=16 - local.set $logc - i32.const 9248 - local.get $i - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load $0 offset=24 - local.set $logctail - local.get $iz - i64.const 2147483648 - i64.add - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $zhi - local.get $z - local.get $zhi - f64.sub - local.set $zlo - local.get $zhi - local.get $invc - f64.mul - f64.const 1 - f64.sub - local.set $rhi - local.get $zlo - local.get $invc - f64.mul - local.set $rlo - local.get $rhi - local.get $rlo - f64.add - local.set $r - local.get $kd - f64.const 0.6931471805598903 - f64.mul - local.get $logc - f64.add - local.set $t1 - local.get $t1 - local.get $r - f64.add - local.set $t2 - local.get $kd - f64.const 5.497923018708371e-14 - f64.mul - local.get $logctail - f64.add - local.set $lo1 - local.get $t1 - local.get $t2 - f64.sub - local.get $r - f64.add - local.set $lo2 - f64.const -0.5 - local.get $r - f64.mul - local.set $ar - local.get $r - local.get $ar - f64.mul - local.set $ar2 - local.get $r - local.get $ar2 - f64.mul - local.set $ar3 - f64.const -0.5 - local.get $rhi - f64.mul - local.set $arhi - local.get $rhi - local.get $arhi - f64.mul - local.set $arhi2 - local.get $t2 - local.get $arhi2 - f64.add - local.set $hi - local.get $rlo - local.get $ar - local.get $arhi - f64.add - f64.mul - local.set $lo3 - local.get $t2 - local.get $hi - f64.sub - local.get $arhi2 - f64.add - local.set $lo4 - local.get $ar3 - f64.const -0.6666666666666679 - local.get $r - f64.const 0.5000000000000007 - f64.mul - f64.add - local.get $ar2 - f64.const 0.7999999995323976 - local.get $r - f64.const -0.6666666663487739 - f64.mul - f64.add - local.get $ar2 - f64.const -1.142909628459501 - local.get $r - f64.const 1.0000415263675542 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $p - local.get $lo1 - local.get $lo2 - f64.add - local.get $lo3 - f64.add - local.get $lo4 - f64.add - local.get $p - f64.add - local.set $lo - local.get $hi - local.get $lo - f64.add - local.set $y|46 - local.get $hi - local.get $y|46 - f64.sub - local.get $lo - f64.add - global.set $~lib/util/math/log_tail - local.get $y|46 + block $~lib/util/math/log_inline|inlined.0 (result f64) + local.get $ix + local.set $ix|17 + local.get $ix|17 + i64.const 4604531861337669632 + i64.sub + local.set $tmp + local.get $tmp + i64.const 52 + i32.const 7 + i64.extend_i32_s + i64.sub + i64.shr_u + i32.const 127 + i64.extend_i32_s + i64.and + i32.wrap_i64 + local.set $i + local.get $tmp + i64.const 52 + i64.shr_s + local.set $k + local.get $ix|17 + local.get $tmp + i64.const 4095 + i64.const 52 + i64.shl + i64.and + i64.sub + local.set $iz + local.get $iz + f64.reinterpret_i64 + local.set $z + local.get $k + f64.convert_i64_s + local.set $kd + i32.const 9248 + local.get $i + i32.const 2 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load $0 + local.set $invc + i32.const 9248 + local.get $i + i32.const 2 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load $0 offset=16 + local.set $logc + i32.const 9248 + local.get $i + i32.const 2 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load $0 offset=24 + local.set $logctail + local.get $iz + i64.const 2147483648 + i64.add + i64.const -4294967296 + i64.and + f64.reinterpret_i64 + local.set $zhi + local.get $z + local.get $zhi + f64.sub + local.set $zlo + local.get $zhi + local.get $invc + f64.mul + f64.const 1 + f64.sub + local.set $rhi + local.get $zlo + local.get $invc + f64.mul + local.set $rlo + local.get $rhi + local.get $rlo + f64.add + local.set $r + local.get $kd + f64.const 0.6931471805598903 + f64.mul + local.get $logc + f64.add + local.set $t1 + local.get $t1 + local.get $r + f64.add + local.set $t2 + local.get $kd + f64.const 5.497923018708371e-14 + f64.mul + local.get $logctail + f64.add + local.set $lo1 + local.get $t1 + local.get $t2 + f64.sub + local.get $r + f64.add + local.set $lo2 + f64.const -0.5 + local.get $r + f64.mul + local.set $ar + local.get $r + local.get $ar + f64.mul + local.set $ar2 + local.get $r + local.get $ar2 + f64.mul + local.set $ar3 + f64.const -0.5 + local.get $rhi + f64.mul + local.set $arhi + local.get $rhi + local.get $arhi + f64.mul + local.set $arhi2 + local.get $t2 + local.get $arhi2 + f64.add + local.set $hi + local.get $rlo + local.get $ar + local.get $arhi + f64.add + f64.mul + local.set $lo3 + local.get $t2 + local.get $hi + f64.sub + local.get $arhi2 + f64.add + local.set $lo4 + local.get $ar3 + f64.const -0.6666666666666679 + local.get $r + f64.const 0.5000000000000007 + f64.mul + f64.add + local.get $ar2 + f64.const 0.7999999995323976 + local.get $r + f64.const -0.6666666663487739 + f64.mul + f64.add + local.get $ar2 + f64.const -1.142909628459501 + local.get $r + f64.const 1.0000415263675542 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $p + local.get $lo1 + local.get $lo2 + f64.add + local.get $lo3 + f64.add + local.get $lo4 + f64.add + local.get $p + f64.add + local.set $lo + local.get $hi + local.get $lo + f64.add + local.set $y|46 + local.get $hi + local.get $y|46 + f64.sub + local.get $lo + f64.add + global.set $~lib/util/math/log_tail + local.get $y|46 + br $~lib/util/math/log_inline|inlined.0 + end local.set $hi|47 global.get $~lib/util/math/log_tail local.set $lo|48 @@ -10452,35 +10659,47 @@ i64.const 0 i64.lt_s if (result f64) - local.get $sign_bias|57 - local.set $sign - local.get $sign - local.set $sign|72 - i64.const 1152921504606846976 - f64.reinterpret_i64 - local.set $y|73 - local.get $y|73 - f64.neg - local.get $y|73 - local.get $sign|72 - select - local.get $y|73 - f64.mul + block $~lib/util/math/uflow|inlined.0 (result f64) + local.get $sign_bias|57 + local.set $sign + block $~lib/util/math/xflow|inlined.0 (result f64) + local.get $sign + local.set $sign|72 + i64.const 1152921504606846976 + f64.reinterpret_i64 + local.set $y|73 + local.get $y|73 + f64.neg + local.get $y|73 + local.get $sign|72 + select + local.get $y|73 + f64.mul + br $~lib/util/math/xflow|inlined.0 + end + br $~lib/util/math/uflow|inlined.0 + end else - local.get $sign_bias|57 - local.set $sign|74 - local.get $sign|74 - local.set $sign|75 - i64.const 8070450532247928832 - f64.reinterpret_i64 - local.set $y|76 - local.get $y|76 - f64.neg - local.get $y|76 - local.get $sign|75 - select - local.get $y|76 - f64.mul + block $~lib/util/math/oflow|inlined.0 (result f64) + local.get $sign_bias|57 + local.set $sign|74 + block $~lib/util/math/xflow|inlined.1 (result f64) + local.get $sign|74 + local.set $sign|75 + i64.const 8070450532247928832 + f64.reinterpret_i64 + local.set $y|76 + local.get $y|76 + f64.neg + local.get $y|76 + local.get $sign|75 + select + local.get $y|76 + f64.mul + br $~lib/util/math/xflow|inlined.1 + end + br $~lib/util/math/oflow|inlined.0 + end end br $~lib/util/math/exp_inline|inlined.0 end @@ -10677,6 +10896,7 @@ local.get $y|81 f64.const 2.2250738585072014e-308 f64.mul + br $~lib/util/math/specialcase|inlined.1 end br $~lib/util/math/exp_inline|inlined.0 end @@ -10688,7 +10908,9 @@ local.get $tmp|69 f64.mul f64.add + br $~lib/util/math/exp_inline|inlined.0 end + br $~lib/util/math/pow_lut|inlined.0 end return ) @@ -10711,6 +10933,7 @@ else i32.const 0 end + return ) (func $~lib/object/Object.is (type $f64_f64_=>_i32) (param $x f64) (param $y f64) (result i32) i32.const 1 @@ -10859,19 +11082,22 @@ i32.const 8388608 i32.sub i32.ge_u - local.get $iy - local.set $ux - local.get $ux - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.const 2139095040 - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.ge_u + block $~lib/util/math/zeroinfnanf|inlined.0 (result i32) + local.get $iy + local.set $ux + local.get $ux + i32.const 1 + i32.shl + i32.const 1 + i32.sub + i32.const 2139095040 + i32.const 1 + i32.shl + i32.const 1 + i32.sub + i32.ge_u + br $~lib/util/math/zeroinfnanf|inlined.0 + end i32.const 0 i32.ne local.tee $ny @@ -10951,19 +11177,22 @@ f32.mul br $~lib/util/math/powf_lut|inlined.0 end - local.get $ix - local.set $ux|9 - local.get $ux|9 - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.const 2139095040 - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.ge_u + block $~lib/util/math/zeroinfnanf|inlined.1 (result i32) + local.get $ix + local.set $ux|9 + local.get $ux|9 + i32.const 1 + i32.shl + i32.const 1 + i32.sub + i32.const 2139095040 + i32.const 1 + i32.shl + i32.const 1 + i32.sub + i32.ge_u + br $~lib/util/math/zeroinfnanf|inlined.1 + end if local.get $x|2 local.get $x|2 @@ -11023,6 +11252,7 @@ br $~lib/util/math/checkintf|inlined.0 end i32.const 2 + br $~lib/util/math/checkintf|inlined.0 end i32.const 1 i32.eq @@ -11100,6 +11330,7 @@ br $~lib/util/math/checkintf|inlined.1 end i32.const 2 + br $~lib/util/math/checkintf|inlined.1 end local.set $yint local.get $yint @@ -11148,102 +11379,105 @@ local.set $ix end end - local.get $ix - local.set $ux|16 - local.get $ux|16 - i32.const 1060306944 - i32.sub - local.set $tmp - local.get $tmp - i32.const 23 - i32.const 4 - i32.sub - i32.shr_u - i32.const 15 - i32.and - local.set $i - local.get $tmp - i32.const -8388608 - i32.and - local.set $top - local.get $ux|16 - local.get $top - i32.sub - local.set $uz - local.get $top - i32.const 23 - i32.shr_s - local.set $k - i32.const 8992 - local.get $i - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load $0 - local.set $invc - i32.const 8992 - local.get $i - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load $0 offset=8 - local.set $logc - local.get $uz - f32.reinterpret_i32 - f64.promote_f32 - local.set $z - local.get $z - local.get $invc - f64.mul - f64.const 1 - f64.sub - local.set $r - local.get $logc - local.get $k - f64.convert_i32_s - f64.add - local.set $y0 - f64.const 0.288457581109214 - local.get $r - f64.mul - f64.const -0.36092606229713164 - f64.add - local.set $y|27 - f64.const 0.480898481472577 - local.get $r - f64.mul - f64.const -0.7213474675006291 - f64.add - local.set $p - f64.const 1.4426950408774342 - local.get $r - f64.mul - local.get $y0 - f64.add - local.set $q - local.get $r - local.get $r - f64.mul - local.set $r - local.get $q - local.get $p - local.get $r - f64.mul - f64.add - local.set $q - local.get $y|27 - local.get $r - local.get $r - f64.mul - f64.mul - local.get $q - f64.add - local.set $y|27 - local.get $y|27 + block $~lib/util/math/log2f_inline|inlined.0 (result f64) + local.get $ix + local.set $ux|16 + local.get $ux|16 + i32.const 1060306944 + i32.sub + local.set $tmp + local.get $tmp + i32.const 23 + i32.const 4 + i32.sub + i32.shr_u + i32.const 15 + i32.and + local.set $i + local.get $tmp + i32.const -8388608 + i32.and + local.set $top + local.get $ux|16 + local.get $top + i32.sub + local.set $uz + local.get $top + i32.const 23 + i32.shr_s + local.set $k + i32.const 8992 + local.get $i + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load $0 + local.set $invc + i32.const 8992 + local.get $i + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load $0 offset=8 + local.set $logc + local.get $uz + f32.reinterpret_i32 + f64.promote_f32 + local.set $z + local.get $z + local.get $invc + f64.mul + f64.const 1 + f64.sub + local.set $r + local.get $logc + local.get $k + f64.convert_i32_s + f64.add + local.set $y0 + f64.const 0.288457581109214 + local.get $r + f64.mul + f64.const -0.36092606229713164 + f64.add + local.set $y|27 + f64.const 0.480898481472577 + local.get $r + f64.mul + f64.const -0.7213474675006291 + f64.add + local.set $p + f64.const 1.4426950408774342 + local.get $r + f64.mul + local.get $y0 + f64.add + local.set $q + local.get $r + local.get $r + f64.mul + local.set $r + local.get $q + local.get $p + local.get $r + f64.mul + f64.add + local.set $q + local.get $y|27 + local.get $r + local.get $r + f64.mul + f64.mul + local.get $q + f64.add + local.set $y|27 + local.get $y|27 + br $~lib/util/math/log2f_inline|inlined.0 + end local.set $logx local.get $y|3 f64.promote_f32 @@ -11263,111 +11497,127 @@ f64.const 127.99999995700433 f64.gt if - local.get $signBias - local.set $sign - local.get $sign - local.set $sign|33 - i32.const 1879048192 - f32.reinterpret_i32 - local.set $y|34 - local.get $y|34 - f32.neg - local.get $y|34 - local.get $sign|33 - select - local.get $y|34 - f32.mul + block $~lib/util/math/oflowf|inlined.0 (result f32) + local.get $signBias + local.set $sign + block $~lib/util/math/xflowf|inlined.0 (result f32) + local.get $sign + local.set $sign|33 + i32.const 1879048192 + f32.reinterpret_i32 + local.set $y|34 + local.get $y|34 + f32.neg + local.get $y|34 + local.get $sign|33 + select + local.get $y|34 + f32.mul + br $~lib/util/math/xflowf|inlined.0 + end + br $~lib/util/math/oflowf|inlined.0 + end br $~lib/util/math/powf_lut|inlined.0 end local.get $ylogx f64.const -150 f64.le if - local.get $signBias - local.set $sign|35 - local.get $sign|35 - local.set $sign|36 - i32.const 268435456 - f32.reinterpret_i32 - local.set $y|37 - local.get $y|37 - f32.neg - local.get $y|37 - local.get $sign|36 - select - local.get $y|37 - f32.mul + block $~lib/util/math/uflowf|inlined.0 (result f32) + local.get $signBias + local.set $sign|35 + block $~lib/util/math/xflowf|inlined.1 (result f32) + local.get $sign|35 + local.set $sign|36 + i32.const 268435456 + f32.reinterpret_i32 + local.set $y|37 + local.get $y|37 + f32.neg + local.get $y|37 + local.get $sign|36 + select + local.get $y|37 + f32.mul + br $~lib/util/math/xflowf|inlined.1 + end + br $~lib/util/math/uflowf|inlined.0 + end br $~lib/util/math/powf_lut|inlined.0 end end - local.get $ylogx - local.set $xd - local.get $signBias - local.set $signBias|39 - local.get $xd - f64.const 211106232532992 - f64.add - local.set $kd - local.get $kd - i64.reinterpret_f64 - local.set $ki - local.get $xd - local.get $kd - f64.const 211106232532992 - f64.sub - f64.sub - local.set $r|42 - i32.const 6688 - local.get $ki - i32.wrap_i64 - i32.const 31 - i32.and - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $t - local.get $t - local.get $ki - local.get $signBias|39 - i64.extend_i32_u - i64.add - i64.const 52 - i32.const 5 - i64.extend_i32_s - i64.sub - i64.shl - i64.add - local.set $t - local.get $t - f64.reinterpret_i64 - local.set $s - f64.const 0.05550361559341535 - local.get $r|42 - f64.mul - f64.const 0.2402284522445722 - f64.add - local.set $z|44 - f64.const 0.6931471806916203 - local.get $r|42 - f64.mul - f64.const 1 - f64.add - local.set $y|45 - local.get $y|45 - local.get $z|44 - local.get $r|42 - local.get $r|42 - f64.mul - f64.mul - f64.add - local.set $y|45 - local.get $y|45 - local.get $s - f64.mul - local.set $y|45 - local.get $y|45 - f32.demote_f64 + block $~lib/util/math/exp2f_inline|inlined.0 (result f32) + local.get $ylogx + local.set $xd + local.get $signBias + local.set $signBias|39 + local.get $xd + f64.const 211106232532992 + f64.add + local.set $kd + local.get $kd + i64.reinterpret_f64 + local.set $ki + local.get $xd + local.get $kd + f64.const 211106232532992 + f64.sub + f64.sub + local.set $r|42 + i32.const 6688 + local.get $ki + i32.wrap_i64 + i32.const 31 + i32.and + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $t + local.get $t + local.get $ki + local.get $signBias|39 + i64.extend_i32_u + i64.add + i64.const 52 + i32.const 5 + i64.extend_i32_s + i64.sub + i64.shl + i64.add + local.set $t + local.get $t + f64.reinterpret_i64 + local.set $s + f64.const 0.05550361559341535 + local.get $r|42 + f64.mul + f64.const 0.2402284522445722 + f64.add + local.set $z|44 + f64.const 0.6931471806916203 + local.get $r|42 + f64.mul + f64.const 1 + f64.add + local.set $y|45 + local.get $y|45 + local.get $z|44 + local.get $r|42 + local.get $r|42 + f64.mul + f64.mul + f64.add + local.set $y|45 + local.get $y|45 + local.get $s + f64.mul + local.set $y|45 + local.get $y|45 + f32.demote_f64 + br $~lib/util/math/exp2f_inline|inlined.0 + end + br $~lib/util/math/powf_lut|inlined.0 end return ) @@ -11379,6 +11629,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/murmurHash3 (type $i64_=>_i64) (param $h i64) (result i64) local.get $h @@ -11408,6 +11659,7 @@ i64.xor local.set $h local.get $h + return ) (func $~lib/math/splitMix32 (type $i32_=>_i32) (param $h i32) (result i32) local.get $h @@ -11443,6 +11695,7 @@ i32.const 14 i32.shr_u i32.xor + return ) (func $~lib/math/NativeMath.seedRandom (type $i64_=>_none) (param $value i64) local.get $value @@ -11521,6 +11774,7 @@ f64.reinterpret_i64 f64.const 1 f64.sub + return ) (func $~lib/math/NativeMathf.random (type $none_=>_f32) (result f32) (local $value i64) @@ -11576,6 +11830,7 @@ f32.reinterpret_i32 f32.const 1 f32.sub + return ) (func $~lib/math/NativeMath.round (type $f64_=>_f64) (param $x f64) (result f64) (local $roundUp f64) @@ -11605,6 +11860,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMathf.round (type $f32_=>_f32) (param $x f32) (result f32) (local $roundUp f32) @@ -11634,6 +11890,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.sign (type $f64_=>_f64) (param $x f64) (result f64) i32.const 0 @@ -11670,6 +11927,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.sign (type $f32_=>_f32) (param $x f32) (result f32) i32.const 0 @@ -11696,6 +11954,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.rem (type $f64_f64_=>_f64) (param $x f64) (param $y f64) (result f64) (local $ux i64) @@ -12003,6 +12262,7 @@ else local.get $x end + return ) (func $std/math/test_rem (type $f64_f64_f64_f64_i32_=>_i32) (param $left f64) (param $right f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $left @@ -12012,6 +12272,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMathf.rem (type $f32_f32_=>_f32) (param $x f32) (param $y f32) (result f32) (local $ux i32) @@ -12314,6 +12575,7 @@ else local.get $x end + return ) (func $std/math/test_remf (type $f32_f32_f32_f32_i32_=>_i32) (param $left f32) (param $right f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $left @@ -12323,6 +12585,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.sin (type $f64_=>_f64) (param $x f64) (result f64) (local $u i64) @@ -12725,6 +12988,7 @@ local.get $q|29 local.get $sign|13 select + br $~lib/math/rempio2|inlined.1 end local.set $n global.get $~lib/math/rempio2_y0 @@ -12735,67 +12999,70 @@ i32.const 1 i32.and if (result f64) - local.get $y0|31 - local.set $x|33 - local.get $y1|32 - local.set $y|34 - local.get $x|33 - local.get $x|33 - f64.mul - local.set $z|35 - local.get $z|35 - local.get $z|35 - f64.mul - local.set $w|36 - local.get $z|35 - f64.const 0.0416666666666666 - local.get $z|35 - f64.const -0.001388888888887411 - local.get $z|35 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $w|36 - local.get $w|36 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $z|35 - f64.const 2.087572321298175e-09 - local.get $z|35 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $r|37 - f64.const 0.5 - local.get $z|35 - f64.mul - local.set $hz - f64.const 1 - local.get $hz - f64.sub - local.set $w|36 - local.get $w|36 - f64.const 1 - local.get $w|36 - f64.sub - local.get $hz - f64.sub - local.get $z|35 - local.get $r|37 - f64.mul - local.get $x|33 - local.get $y|34 - f64.mul - f64.sub - f64.add - f64.add + block $~lib/math/cos_kern|inlined.2 (result f64) + local.get $y0|31 + local.set $x|33 + local.get $y1|32 + local.set $y|34 + local.get $x|33 + local.get $x|33 + f64.mul + local.set $z|35 + local.get $z|35 + local.get $z|35 + f64.mul + local.set $w|36 + local.get $z|35 + f64.const 0.0416666666666666 + local.get $z|35 + f64.const -0.001388888888887411 + local.get $z|35 + f64.const 2.480158728947673e-05 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.get $w|36 + local.get $w|36 + f64.mul + f64.const -2.7557314351390663e-07 + local.get $z|35 + f64.const 2.087572321298175e-09 + local.get $z|35 + f64.const -1.1359647557788195e-11 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $r|37 + f64.const 0.5 + local.get $z|35 + f64.mul + local.set $hz + f64.const 1 + local.get $hz + f64.sub + local.set $w|36 + local.get $w|36 + f64.const 1 + local.get $w|36 + f64.sub + local.get $hz + f64.sub + local.get $z|35 + local.get $r|37 + f64.mul + local.get $x|33 + local.get $y|34 + f64.mul + f64.sub + f64.add + f64.add + br $~lib/math/cos_kern|inlined.2 + end else block $~lib/math/sin_kern|inlined.2 (result f64) local.get $y0|31 @@ -12882,6 +13149,7 @@ else local.get $x end + return ) (func $std/math/test_sin (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -12900,6 +13168,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.sin (type $f32_=>_f32) (param $x f32) (result f32) (local $ux i32) @@ -12988,43 +13257,46 @@ local.get $x return end - local.get $x - f64.promote_f32 - local.set $x|3 - local.get $x|3 - local.get $x|3 - f64.mul - local.set $z - local.get $z - local.get $z - f64.mul - local.set $w - f64.const -1.9839334836096632e-04 - local.get $z - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $r - local.get $z - local.get $x|3 - f64.mul - local.set $s - local.get $x|3 - local.get $s - f64.const -0.16666666641626524 - local.get $z - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $s - local.get $w - f64.mul - local.get $r - f64.mul - f64.add - f32.demote_f64 + block $~lib/math/sin_kernf|inlined.5 (result f32) + local.get $x + f64.promote_f32 + local.set $x|3 + local.get $x|3 + local.get $x|3 + f64.mul + local.set $z + local.get $z + local.get $z + f64.mul + local.set $w + f64.const -1.9839334836096632e-04 + local.get $z + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $r + local.get $z + local.get $x|3 + f64.mul + local.set $s + local.get $x|3 + local.get $s + f64.const -0.16666666641626524 + local.get $z + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $s + local.get $w + f64.mul + local.get $r + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/sin_kernf|inlined.5 + end return end i32.const 0 @@ -13041,131 +13313,140 @@ if local.get $sign if (result f32) + block $~lib/math/cos_kernf|inlined.4 (result f32) + local.get $x + f64.promote_f32 + f64.const 1.5707963267948966 + f64.add + local.set $x|8 + local.get $x|8 + local.get $x|8 + f64.mul + local.set $z|9 + local.get $z|9 + local.get $z|9 + f64.mul + local.set $w|10 + f64.const -0.001388676377460993 + local.get $z|9 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $r|11 + f32.const 1 + f64.promote_f32 + local.get $z|9 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $w|10 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $w|10 + local.get $z|9 + f64.mul + local.get $r|11 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/cos_kernf|inlined.4 + end + f32.neg + else + block $~lib/math/cos_kernf|inlined.5 (result f32) + local.get $x + f64.promote_f32 + f64.const 1.5707963267948966 + f64.sub + local.set $x|12 + local.get $x|12 + local.get $x|12 + f64.mul + local.set $z|13 + local.get $z|13 + local.get $z|13 + f64.mul + local.set $w|14 + f64.const -0.001388676377460993 + local.get $z|13 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $r|15 + f32.const 1 + f64.promote_f32 + local.get $z|13 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $w|14 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $w|14 + local.get $z|13 + f64.mul + local.get $r|15 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/cos_kernf|inlined.5 + end + end + return + end + block $~lib/math/sin_kernf|inlined.6 (result f32) + local.get $sign + if (result f64) local.get $x f64.promote_f32 - f64.const 1.5707963267948966 - f64.add - local.set $x|8 - local.get $x|8 - local.get $x|8 - f64.mul - local.set $z|9 - local.get $z|9 - local.get $z|9 - f64.mul - local.set $w|10 - f64.const -0.001388676377460993 - local.get $z|9 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $r|11 - f32.const 1 - f64.promote_f32 - local.get $z|9 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $w|10 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $w|10 - local.get $z|9 - f64.mul - local.get $r|11 - f64.mul + f64.const 3.141592653589793 f64.add - f32.demote_f64 - f32.neg else local.get $x f64.promote_f32 - f64.const 1.5707963267948966 + f64.const 3.141592653589793 f64.sub - local.set $x|12 - local.get $x|12 - local.get $x|12 - f64.mul - local.set $z|13 - local.get $z|13 - local.get $z|13 - f64.mul - local.set $w|14 - f64.const -0.001388676377460993 - local.get $z|13 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $r|15 - f32.const 1 - f64.promote_f32 - local.get $z|13 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $w|14 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $w|14 - local.get $z|13 - f64.mul - local.get $r|15 - f64.mul - f64.add - f32.demote_f64 end - return - end - local.get $sign - if (result f64) - local.get $x - f64.promote_f32 - f64.const 3.141592653589793 + f64.neg + local.set $x|16 + local.get $x|16 + local.get $x|16 + f64.mul + local.set $z|17 + local.get $z|17 + local.get $z|17 + f64.mul + local.set $w|18 + f64.const -1.9839334836096632e-04 + local.get $z|17 + f64.const 2.718311493989822e-06 + f64.mul f64.add - else - local.get $x - f64.promote_f32 - f64.const 3.141592653589793 - f64.sub + local.set $r|19 + local.get $z|17 + local.get $x|16 + f64.mul + local.set $s|20 + local.get $x|16 + local.get $s|20 + f64.const -0.16666666641626524 + local.get $z|17 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $s|20 + local.get $w|18 + f64.mul + local.get $r|19 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/sin_kernf|inlined.6 end - f64.neg - local.set $x|16 - local.get $x|16 - local.get $x|16 - f64.mul - local.set $z|17 - local.get $z|17 - local.get $z|17 - f64.mul - local.set $w|18 - f64.const -1.9839334836096632e-04 - local.get $z|17 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $r|19 - local.get $z|17 - local.get $x|16 - f64.mul - local.set $s|20 - local.get $x|16 - local.get $s|20 - f64.const -0.16666666641626524 - local.get $z|17 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $s|20 - local.get $w|18 - f64.mul - local.get $r|19 - f64.mul - f64.add - f32.demote_f64 return end local.get $ux @@ -13178,130 +13459,139 @@ if local.get $sign if (result f32) + block $~lib/math/cos_kernf|inlined.6 (result f32) + local.get $x + f64.promote_f32 + f64.const 4.71238898038469 + f64.add + local.set $x|21 + local.get $x|21 + local.get $x|21 + f64.mul + local.set $z|22 + local.get $z|22 + local.get $z|22 + f64.mul + local.set $w|23 + f64.const -0.001388676377460993 + local.get $z|22 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $r|24 + f32.const 1 + f64.promote_f32 + local.get $z|22 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $w|23 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $w|23 + local.get $z|22 + f64.mul + local.get $r|24 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/cos_kernf|inlined.6 + end + else + block $~lib/math/cos_kernf|inlined.7 (result f32) + local.get $x + f64.promote_f32 + f64.const 4.71238898038469 + f64.sub + local.set $x|25 + local.get $x|25 + local.get $x|25 + f64.mul + local.set $z|26 + local.get $z|26 + local.get $z|26 + f64.mul + local.set $w|27 + f64.const -0.001388676377460993 + local.get $z|26 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $r|28 + f32.const 1 + f64.promote_f32 + local.get $z|26 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $w|27 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $w|27 + local.get $z|26 + f64.mul + local.get $r|28 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/cos_kernf|inlined.7 + end + f32.neg + end + return + end + block $~lib/math/sin_kernf|inlined.7 (result f32) + local.get $sign + if (result f64) local.get $x f64.promote_f32 - f64.const 4.71238898038469 - f64.add - local.set $x|21 - local.get $x|21 - local.get $x|21 - f64.mul - local.set $z|22 - local.get $z|22 - local.get $z|22 - f64.mul - local.set $w|23 - f64.const -0.001388676377460993 - local.get $z|22 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $r|24 - f32.const 1 - f64.promote_f32 - local.get $z|22 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $w|23 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $w|23 - local.get $z|22 - f64.mul - local.get $r|24 - f64.mul + f64.const 6.283185307179586 f64.add - f32.demote_f64 else local.get $x f64.promote_f32 - f64.const 4.71238898038469 + f64.const 6.283185307179586 f64.sub - local.set $x|25 - local.get $x|25 - local.get $x|25 - f64.mul - local.set $z|26 - local.get $z|26 - local.get $z|26 - f64.mul - local.set $w|27 - f64.const -0.001388676377460993 - local.get $z|26 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $r|28 - f32.const 1 - f64.promote_f32 - local.get $z|26 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $w|27 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $w|27 - local.get $z|26 - f64.mul - local.get $r|28 - f64.mul - f64.add - f32.demote_f64 - f32.neg end - return - end - local.get $sign - if (result f64) - local.get $x - f64.promote_f32 - f64.const 6.283185307179586 + local.set $x|29 + local.get $x|29 + local.get $x|29 + f64.mul + local.set $z|30 + local.get $z|30 + local.get $z|30 + f64.mul + local.set $w|31 + f64.const -1.9839334836096632e-04 + local.get $z|30 + f64.const 2.718311493989822e-06 + f64.mul f64.add - else - local.get $x - f64.promote_f32 - f64.const 6.283185307179586 - f64.sub + local.set $r|32 + local.get $z|30 + local.get $x|29 + f64.mul + local.set $s|33 + local.get $x|29 + local.get $s|33 + f64.const -0.16666666641626524 + local.get $z|30 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $s|33 + local.get $w|31 + f64.mul + local.get $r|32 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/sin_kernf|inlined.7 end - local.set $x|29 - local.get $x|29 - local.get $x|29 - f64.mul - local.set $z|30 - local.get $z|30 - local.get $z|30 - f64.mul - local.set $w|31 - f64.const -1.9839334836096632e-04 - local.get $z|30 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $r|32 - local.get $z|30 - local.get $x|29 - f64.mul - local.set $s|33 - local.get $x|29 - local.get $s|33 - f64.const -0.16666666641626524 - local.get $z|30 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $s|33 - local.get $w|31 - f64.mul - local.get $r|32 - f64.mul - f64.add - f32.demote_f64 return end local.get $ux @@ -13345,113 +13635,116 @@ i32.trunc_sat_f64_s br $~lib/math/rempio2f|inlined.1 end - local.get $x|34 - local.set $x|38 - local.get $u - local.set $u|39 - local.get $u|39 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.set $offset - local.get $offset - i32.const 63 - i32.and - i64.extend_i32_s - local.set $shift - i32.const 4608 - local.get $offset - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.add - local.set $tblPtr - local.get $tblPtr - i64.load $0 - local.set $b0 - local.get $tblPtr - i64.load $0 offset=8 - local.set $b1 - local.get $shift - i64.const 32 - i64.gt_u - if + block $~lib/math/pio2f_large_quot|inlined.1 (result i32) + local.get $x|34 + local.set $x|38 + local.get $u + local.set $u|39 + local.get $u|39 + i32.const 23 + i32.shr_s + i32.const 152 + i32.sub + local.set $offset + local.get $offset + i32.const 63 + i32.and + i64.extend_i32_s + local.set $shift + i32.const 4608 + local.get $offset + i32.const 6 + i32.shr_s + i32.const 3 + i32.shl + i32.add + local.set $tblPtr + local.get $tblPtr + i64.load $0 + local.set $b0 local.get $tblPtr - i64.load $0 offset=16 - local.set $b2 - local.get $b2 - i64.const 96 + i64.load $0 offset=8 + local.set $b1 local.get $shift - i64.sub - i64.shr_u - local.set $lo - local.get $lo + i64.const 32 + i64.gt_u + if + local.get $tblPtr + i64.load $0 offset=16 + local.set $b2 + local.get $b2 + i64.const 96 + local.get $shift + i64.sub + i64.shr_u + local.set $lo + local.get $lo + local.get $b1 + local.get $shift + i64.const 32 + i64.sub + i64.shl + i64.or + local.set $lo + else + local.get $b1 + i64.const 32 + local.get $shift + i64.sub + i64.shr_u + local.set $lo + end local.get $b1 + i64.const 64 local.get $shift - i64.const 32 i64.sub + i64.shr_u + local.get $b0 + local.get $shift i64.shl i64.or - local.set $lo - else - local.get $b1 + local.set $hi + local.get $u|39 + i32.const 8388607 + i32.and + i32.const 8388608 + i32.or + i64.extend_i32_s + local.set $mantissa + local.get $mantissa + local.get $hi + i64.mul + local.get $mantissa + local.get $lo + i64.mul i64.const 32 - local.get $shift - i64.sub i64.shr_u - local.set $lo + i64.add + local.set $product + local.get $product + i64.const 2 + i64.shl + local.set $r|50 + local.get $product + i64.const 62 + i64.shr_u + local.get $r|50 + i64.const 63 + i64.shr_u + i64.add + i32.wrap_i64 + local.set $q|51 + f64.const 8.515303950216386e-20 + local.get $x|38 + f64.promote_f32 + f64.copysign + local.get $r|50 + f64.convert_i64_s + f64.mul + global.set $~lib/math/rempio2f_y + local.get $q|51 + br $~lib/math/pio2f_large_quot|inlined.1 end - local.get $b1 - i64.const 64 - local.get $shift - i64.sub - i64.shr_u - local.get $b0 - local.get $shift - i64.shl - i64.or - local.set $hi - local.get $u|39 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.set $mantissa - local.get $mantissa - local.get $hi - i64.mul - local.get $mantissa - local.get $lo - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $product - local.get $product - i64.const 2 - i64.shl - local.set $r|50 - local.get $product - i64.const 62 - i64.shr_u - local.get $r|50 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.set $q|51 - f64.const 8.515303950216386e-20 - local.get $x|38 - f64.promote_f32 - f64.copysign - local.get $r|50 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - local.get $q|51 local.set $q|52 i32.const 0 local.get $q|52 @@ -13459,6 +13752,7 @@ local.get $q|52 local.get $sign|36 select + br $~lib/math/rempio2f|inlined.1 end local.set $n global.get $~lib/math/rempio2f_y @@ -13467,76 +13761,82 @@ i32.const 1 i32.and if (result f32) - local.get $y - local.set $x|55 - local.get $x|55 - local.get $x|55 - f64.mul - local.set $z|56 - local.get $z|56 - local.get $z|56 - f64.mul - local.set $w|57 - f64.const -0.001388676377460993 - local.get $z|56 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $r|58 - f32.const 1 - f64.promote_f32 - local.get $z|56 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $w|57 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $w|57 - local.get $z|56 - f64.mul - local.get $r|58 - f64.mul - f64.add - f32.demote_f64 + block $~lib/math/cos_kernf|inlined.8 (result f32) + local.get $y + local.set $x|55 + local.get $x|55 + local.get $x|55 + f64.mul + local.set $z|56 + local.get $z|56 + local.get $z|56 + f64.mul + local.set $w|57 + f64.const -0.001388676377460993 + local.get $z|56 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $r|58 + f32.const 1 + f64.promote_f32 + local.get $z|56 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $w|57 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $w|57 + local.get $z|56 + f64.mul + local.get $r|58 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/cos_kernf|inlined.8 + end else - local.get $y - local.set $x|59 - local.get $x|59 - local.get $x|59 - f64.mul - local.set $z|60 - local.get $z|60 - local.get $z|60 - f64.mul - local.set $w|61 - f64.const -1.9839334836096632e-04 - local.get $z|60 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $r|62 - local.get $z|60 - local.get $x|59 - f64.mul - local.set $s|63 - local.get $x|59 - local.get $s|63 - f64.const -0.16666666641626524 - local.get $z|60 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $s|63 - local.get $w|61 - f64.mul - local.get $r|62 - f64.mul - f64.add - f32.demote_f64 + block $~lib/math/sin_kernf|inlined.8 (result f32) + local.get $y + local.set $x|59 + local.get $x|59 + local.get $x|59 + f64.mul + local.set $z|60 + local.get $z|60 + local.get $z|60 + f64.mul + local.set $w|61 + f64.const -1.9839334836096632e-04 + local.get $z|60 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $r|62 + local.get $z|60 + local.get $x|59 + f64.mul + local.set $s|63 + local.get $x|59 + local.get $s|63 + f64.const -0.16666666641626524 + local.get $z|60 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $s|63 + local.get $w|61 + f64.mul + local.get $r|62 + f64.mul + f64.add + f32.demote_f64 + br $~lib/math/sin_kernf|inlined.8 + end end local.set $t local.get $n @@ -13548,6 +13848,7 @@ else local.get $t end + return ) (func $std/math/test_sinf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -13556,6 +13857,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.sinh (type $f64_=>_f64) (param $x f64) (result f64) (local $u i64) @@ -13631,34 +13933,38 @@ f64.mul return end - local.get $a - local.set $x|6 - f64.const 2 - local.get $h - f64.mul - local.set $sign - i32.const 1023 - i32.const 2043 - i32.const 2 - i32.div_u - i32.add - i32.const 20 - i32.shl - i64.extend_i32_u - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.set $scale - local.get $x|6 - f64.const 1416.0996898839683 - f64.sub - call $~lib/math/NativeMath.exp - local.get $sign - local.get $scale - f64.mul - f64.mul - local.get $scale - f64.mul + block $~lib/math/expo2|inlined.1 (result f64) + local.get $a + local.set $x|6 + f64.const 2 + local.get $h + f64.mul + local.set $sign + i32.const 1023 + i32.const 2043 + i32.const 2 + i32.div_u + i32.add + i32.const 20 + i32.shl + i64.extend_i32_u + i64.const 32 + i64.shl + f64.reinterpret_i64 + local.set $scale + local.get $x|6 + f64.const 1416.0996898839683 + f64.sub + call $~lib/math/NativeMath.exp + local.get $sign + local.get $scale + f64.mul + f64.mul + local.get $scale + f64.mul + br $~lib/math/expo2|inlined.1 + end + return ) (func $std/math/test_sinh (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -13677,6 +13983,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.sinh (type $f32_=>_f32) (param $x f32) (result f32) (local $u i32) @@ -13746,31 +14053,35 @@ f32.mul return end - local.get $a - local.set $x|5 - f32.const 2 - local.get $h - f32.mul - local.set $sign - i32.const 127 - i32.const 235 - i32.const 1 - i32.shr_u - i32.add - i32.const 23 - i32.shl - f32.reinterpret_i32 - local.set $scale - local.get $x|5 - f32.const 162.88958740234375 - f32.sub - call $~lib/math/NativeMathf.exp - local.get $sign - local.get $scale - f32.mul - f32.mul - local.get $scale - f32.mul + block $~lib/math/expo2f|inlined.1 (result f32) + local.get $a + local.set $x|5 + f32.const 2 + local.get $h + f32.mul + local.set $sign + i32.const 127 + i32.const 235 + i32.const 1 + i32.shr_u + i32.add + i32.const 23 + i32.shl + f32.reinterpret_i32 + local.set $scale + local.get $x|5 + f32.const 162.88958740234375 + f32.sub + call $~lib/math/NativeMathf.exp + local.get $sign + local.get $scale + f32.mul + f32.mul + local.get $scale + f32.mul + br $~lib/math/expo2f|inlined.1 + end + return ) (func $std/math/test_sinhf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -13779,13 +14090,17 @@ local.get $error local.get $flags call $std/math/check + return ) (func $std/math/test_sqrt (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) (local $x f64) - local.get $value - local.set $x - local.get $x - f64.sqrt + block $~lib/math/NativeMath.sqrt|inlined.0 (result f64) + local.get $value + local.set $x + local.get $x + f64.sqrt + br $~lib/math/NativeMath.sqrt|inlined.0 + end local.get $expected local.get $error local.get $flags @@ -13800,17 +14115,22 @@ else i32.const 0 end + return ) (func $std/math/test_sqrtf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) (local $x f32) - local.get $value - local.set $x - local.get $x - f32.sqrt + block $~lib/math/NativeMathf.sqrt|inlined.0 (result f32) + local.get $value + local.set $x + local.get $x + f32.sqrt + br $~lib/math/NativeMathf.sqrt|inlined.0 + end local.get $expected local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/tan_kern (type $f64_f64_i32_=>_f64) (param $x f64) (param $y f64) (param $iy i32) (result f64) (local $z f64) @@ -14024,6 +14344,7 @@ f64.add f64.mul f64.add + return ) (func $~lib/math/NativeMath.tan (type $f64_=>_f64) (param $x f64) (result f64) (local $u i64) @@ -14334,6 +14655,7 @@ local.get $q|22 local.get $sign|6 select + br $~lib/math/rempio2|inlined.2 end local.set $n global.get $~lib/math/rempio2_y0 @@ -14346,6 +14668,7 @@ i32.shl i32.sub call $~lib/math/tan_kern + return ) (func $std/math/test_tan (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -14364,6 +14687,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.tan (type $f32_=>_f32) (param $x f32) (result f32) (local $ux i32) @@ -14459,225 +14783,234 @@ local.get $x return end - local.get $x - f64.promote_f32 - local.set $x|3 - i32.const 0 - local.set $odd - local.get $x|3 - local.get $x|3 - f64.mul - local.set $z - f64.const 0.002974357433599673 - local.get $z - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $r - f64.const 0.05338123784456704 - local.get $z - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $t - local.get $z - local.get $z - f64.mul - local.set $w - local.get $z - local.get $x|3 - f64.mul - local.set $s - f64.const 0.3333313950307914 - local.get $z - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $u - local.get $x|3 - local.get $s - local.get $u - f64.mul - f64.add - local.get $s - local.get $w - f64.mul - local.get $t - local.get $w - local.get $r - f64.mul - f64.add - f64.mul - f64.add - local.set $r - local.get $odd - if (result f64) - f32.const -1 + block $~lib/math/tan_kernf|inlined.0 (result f32) + local.get $x f64.promote_f32 - local.get $r - f64.div - else - local.get $r - end - f32.demote_f64 - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - local.get $ux - i32.const 1081824209 - i32.le_u - if - local.get $ux - i32.const 1075235811 - i32.le_u - if - local.get $sign - if (result f64) - local.get $x - f64.promote_f32 - f64.const 1.5707963267948966 - f64.add - else - local.get $x - f64.promote_f32 - f64.const 1.5707963267948966 - f64.sub - end - local.set $x|11 - i32.const 1 - local.set $odd|12 - local.get $x|11 - local.get $x|11 + local.set $x|3 + i32.const 0 + local.set $odd + local.get $x|3 + local.get $x|3 f64.mul - local.set $z|13 + local.set $z f64.const 0.002974357433599673 - local.get $z|13 + local.get $z f64.const 0.009465647849436732 f64.mul f64.add - local.set $r|14 + local.set $r f64.const 0.05338123784456704 - local.get $z|13 + local.get $z f64.const 0.024528318116654728 f64.mul f64.add - local.set $t|15 - local.get $z|13 - local.get $z|13 + local.set $t + local.get $z + local.get $z f64.mul - local.set $w|16 - local.get $z|13 - local.get $x|11 + local.set $w + local.get $z + local.get $x|3 f64.mul - local.set $s|17 + local.set $s f64.const 0.3333313950307914 - local.get $z|13 + local.get $z f64.const 0.13339200271297674 f64.mul f64.add - local.set $u|18 - local.get $x|11 - local.get $s|17 - local.get $u|18 + local.set $u + local.get $x|3 + local.get $s + local.get $u f64.mul f64.add - local.get $s|17 - local.get $w|16 + local.get $s + local.get $w f64.mul - local.get $t|15 - local.get $w|16 - local.get $r|14 + local.get $t + local.get $w + local.get $r f64.mul f64.add f64.mul f64.add - local.set $r|14 - local.get $odd|12 + local.set $r + local.get $odd if (result f64) f32.const -1 f64.promote_f32 - local.get $r|14 + local.get $r f64.div else - local.get $r|14 + local.get $r end f32.demote_f64 + br $~lib/math/tan_kernf|inlined.0 + end + return + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + local.get $ux + i32.const 1081824209 + i32.le_u + if + local.get $ux + i32.const 1075235811 + i32.le_u + if + block $~lib/math/tan_kernf|inlined.1 (result f32) + local.get $sign + if (result f64) + local.get $x + f64.promote_f32 + f64.const 1.5707963267948966 + f64.add + else + local.get $x + f64.promote_f32 + f64.const 1.5707963267948966 + f64.sub + end + local.set $x|11 + i32.const 1 + local.set $odd|12 + local.get $x|11 + local.get $x|11 + f64.mul + local.set $z|13 + f64.const 0.002974357433599673 + local.get $z|13 + f64.const 0.009465647849436732 + f64.mul + f64.add + local.set $r|14 + f64.const 0.05338123784456704 + local.get $z|13 + f64.const 0.024528318116654728 + f64.mul + f64.add + local.set $t|15 + local.get $z|13 + local.get $z|13 + f64.mul + local.set $w|16 + local.get $z|13 + local.get $x|11 + f64.mul + local.set $s|17 + f64.const 0.3333313950307914 + local.get $z|13 + f64.const 0.13339200271297674 + f64.mul + f64.add + local.set $u|18 + local.get $x|11 + local.get $s|17 + local.get $u|18 + f64.mul + f64.add + local.get $s|17 + local.get $w|16 + f64.mul + local.get $t|15 + local.get $w|16 + local.get $r|14 + f64.mul + f64.add + f64.mul + f64.add + local.set $r|14 + local.get $odd|12 + if (result f64) + f32.const -1 + f64.promote_f32 + local.get $r|14 + f64.div + else + local.get $r|14 + end + f32.demote_f64 + br $~lib/math/tan_kernf|inlined.1 + end return else - local.get $sign - if (result f64) - local.get $x - f64.promote_f32 - f64.const 3.141592653589793 + block $~lib/math/tan_kernf|inlined.2 (result f32) + local.get $sign + if (result f64) + local.get $x + f64.promote_f32 + f64.const 3.141592653589793 + f64.add + else + local.get $x + f64.promote_f32 + f64.const 3.141592653589793 + f64.sub + end + local.set $x|19 + i32.const 0 + local.set $odd|20 + local.get $x|19 + local.get $x|19 + f64.mul + local.set $z|21 + f64.const 0.002974357433599673 + local.get $z|21 + f64.const 0.009465647849436732 + f64.mul f64.add - else - local.get $x - f64.promote_f32 - f64.const 3.141592653589793 - f64.sub - end - local.set $x|19 - i32.const 0 - local.set $odd|20 - local.get $x|19 - local.get $x|19 - f64.mul - local.set $z|21 - f64.const 0.002974357433599673 - local.get $z|21 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $r|22 - f64.const 0.05338123784456704 - local.get $z|21 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $t|23 - local.get $z|21 - local.get $z|21 - f64.mul - local.set $w|24 - local.get $z|21 - local.get $x|19 - f64.mul - local.set $s|25 - f64.const 0.3333313950307914 - local.get $z|21 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $u|26 - local.get $x|19 - local.get $s|25 - local.get $u|26 - f64.mul - f64.add - local.get $s|25 - local.get $w|24 - f64.mul - local.get $t|23 - local.get $w|24 - local.get $r|22 - f64.mul - f64.add - f64.mul - f64.add - local.set $r|22 - local.get $odd|20 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $r|22 - f64.div - else + local.set $r|22 + f64.const 0.05338123784456704 + local.get $z|21 + f64.const 0.024528318116654728 + f64.mul + f64.add + local.set $t|23 + local.get $z|21 + local.get $z|21 + f64.mul + local.set $w|24 + local.get $z|21 + local.get $x|19 + f64.mul + local.set $s|25 + f64.const 0.3333313950307914 + local.get $z|21 + f64.const 0.13339200271297674 + f64.mul + f64.add + local.set $u|26 + local.get $x|19 + local.get $s|25 + local.get $u|26 + f64.mul + f64.add + local.get $s|25 + local.get $w|24 + f64.mul + local.get $t|23 + local.get $w|24 local.get $r|22 + f64.mul + f64.add + f64.mul + f64.add + local.set $r|22 + local.get $odd|20 + if (result f64) + f32.const -1 + f64.promote_f32 + local.get $r|22 + f64.div + else + local.get $r|22 + end + f32.demote_f64 + br $~lib/math/tan_kernf|inlined.2 end - f32.demote_f64 return end unreachable @@ -14690,150 +15023,156 @@ i32.const 1085271519 i32.le_u if - local.get $sign - if (result f64) - local.get $x - f64.promote_f32 - f64.const 4.71238898038469 + block $~lib/math/tan_kernf|inlined.3 (result f32) + local.get $sign + if (result f64) + local.get $x + f64.promote_f32 + f64.const 4.71238898038469 + f64.add + else + local.get $x + f64.promote_f32 + f64.const 4.71238898038469 + f64.sub + end + local.set $x|27 + i32.const 1 + local.set $odd|28 + local.get $x|27 + local.get $x|27 + f64.mul + local.set $z|29 + f64.const 0.002974357433599673 + local.get $z|29 + f64.const 0.009465647849436732 + f64.mul f64.add - else - local.get $x - f64.promote_f32 - f64.const 4.71238898038469 - f64.sub - end - local.set $x|27 - i32.const 1 - local.set $odd|28 - local.get $x|27 - local.get $x|27 - f64.mul - local.set $z|29 - f64.const 0.002974357433599673 - local.get $z|29 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $r|30 - f64.const 0.05338123784456704 - local.get $z|29 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $t|31 - local.get $z|29 - local.get $z|29 - f64.mul - local.set $w|32 - local.get $z|29 - local.get $x|27 - f64.mul - local.set $s|33 - f64.const 0.3333313950307914 - local.get $z|29 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $u|34 - local.get $x|27 - local.get $s|33 - local.get $u|34 - f64.mul - f64.add - local.get $s|33 - local.get $w|32 - f64.mul - local.get $t|31 - local.get $w|32 - local.get $r|30 - f64.mul - f64.add - f64.mul - f64.add - local.set $r|30 - local.get $odd|28 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $r|30 - f64.div - else + local.set $r|30 + f64.const 0.05338123784456704 + local.get $z|29 + f64.const 0.024528318116654728 + f64.mul + f64.add + local.set $t|31 + local.get $z|29 + local.get $z|29 + f64.mul + local.set $w|32 + local.get $z|29 + local.get $x|27 + f64.mul + local.set $s|33 + f64.const 0.3333313950307914 + local.get $z|29 + f64.const 0.13339200271297674 + f64.mul + f64.add + local.set $u|34 + local.get $x|27 + local.get $s|33 + local.get $u|34 + f64.mul + f64.add + local.get $s|33 + local.get $w|32 + f64.mul + local.get $t|31 + local.get $w|32 local.get $r|30 + f64.mul + f64.add + f64.mul + f64.add + local.set $r|30 + local.get $odd|28 + if (result f64) + f32.const -1 + f64.promote_f32 + local.get $r|30 + f64.div + else + local.get $r|30 + end + f32.demote_f64 + br $~lib/math/tan_kernf|inlined.3 end - f32.demote_f64 return else - local.get $sign - if (result f64) - local.get $x - f64.promote_f32 - f64.const 6.283185307179586 + block $~lib/math/tan_kernf|inlined.4 (result f32) + local.get $sign + if (result f64) + local.get $x + f64.promote_f32 + f64.const 6.283185307179586 + f64.add + else + local.get $x + f64.promote_f32 + f64.const 6.283185307179586 + f64.sub + end + local.set $x|35 + i32.const 0 + local.set $odd|36 + local.get $x|35 + local.get $x|35 + f64.mul + local.set $z|37 + f64.const 0.002974357433599673 + local.get $z|37 + f64.const 0.009465647849436732 + f64.mul f64.add - else - local.get $x - f64.promote_f32 - f64.const 6.283185307179586 - f64.sub - end - local.set $x|35 - i32.const 0 - local.set $odd|36 - local.get $x|35 - local.get $x|35 - f64.mul - local.set $z|37 - f64.const 0.002974357433599673 - local.get $z|37 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $r|38 - f64.const 0.05338123784456704 - local.get $z|37 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $t|39 - local.get $z|37 - local.get $z|37 - f64.mul - local.set $w|40 - local.get $z|37 - local.get $x|35 - f64.mul - local.set $s|41 - f64.const 0.3333313950307914 - local.get $z|37 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $u|42 - local.get $x|35 - local.get $s|41 - local.get $u|42 - f64.mul - f64.add - local.get $s|41 - local.get $w|40 - f64.mul - local.get $t|39 - local.get $w|40 - local.get $r|38 - f64.mul - f64.add - f64.mul - f64.add - local.set $r|38 - local.get $odd|36 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $r|38 - f64.div - else + local.set $r|38 + f64.const 0.05338123784456704 + local.get $z|37 + f64.const 0.024528318116654728 + f64.mul + f64.add + local.set $t|39 + local.get $z|37 + local.get $z|37 + f64.mul + local.set $w|40 + local.get $z|37 + local.get $x|35 + f64.mul + local.set $s|41 + f64.const 0.3333313950307914 + local.get $z|37 + f64.const 0.13339200271297674 + f64.mul + f64.add + local.set $u|42 + local.get $x|35 + local.get $s|41 + local.get $u|42 + f64.mul + f64.add + local.get $s|41 + local.get $w|40 + f64.mul + local.get $t|39 + local.get $w|40 local.get $r|38 + f64.mul + f64.add + f64.mul + f64.add + local.set $r|38 + local.get $odd|36 + if (result f64) + f32.const -1 + f64.promote_f32 + local.get $r|38 + f64.div + else + local.get $r|38 + end + f32.demote_f64 + br $~lib/math/tan_kernf|inlined.4 end - f32.demote_f64 return end unreachable @@ -14879,113 +15218,116 @@ i32.trunc_sat_f64_s br $~lib/math/rempio2f|inlined.2 end - local.get $x|43 - local.set $x|47 - local.get $u|44 - local.set $u|48 - local.get $u|48 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.set $offset - local.get $offset - i32.const 63 - i32.and - i64.extend_i32_s - local.set $shift - i32.const 4608 - local.get $offset - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.add - local.set $tblPtr - local.get $tblPtr - i64.load $0 - local.set $b0 - local.get $tblPtr - i64.load $0 offset=8 - local.set $b1 - local.get $shift - i64.const 32 - i64.gt_u - if + block $~lib/math/pio2f_large_quot|inlined.2 (result i32) + local.get $x|43 + local.set $x|47 + local.get $u|44 + local.set $u|48 + local.get $u|48 + i32.const 23 + i32.shr_s + i32.const 152 + i32.sub + local.set $offset + local.get $offset + i32.const 63 + i32.and + i64.extend_i32_s + local.set $shift + i32.const 4608 + local.get $offset + i32.const 6 + i32.shr_s + i32.const 3 + i32.shl + i32.add + local.set $tblPtr local.get $tblPtr - i64.load $0 offset=16 - local.set $b2 - local.get $b2 - i64.const 96 + i64.load $0 + local.set $b0 + local.get $tblPtr + i64.load $0 offset=8 + local.set $b1 local.get $shift - i64.sub - i64.shr_u - local.set $lo - local.get $lo + i64.const 32 + i64.gt_u + if + local.get $tblPtr + i64.load $0 offset=16 + local.set $b2 + local.get $b2 + i64.const 96 + local.get $shift + i64.sub + i64.shr_u + local.set $lo + local.get $lo + local.get $b1 + local.get $shift + i64.const 32 + i64.sub + i64.shl + i64.or + local.set $lo + else + local.get $b1 + i64.const 32 + local.get $shift + i64.sub + i64.shr_u + local.set $lo + end local.get $b1 + i64.const 64 local.get $shift - i64.const 32 i64.sub + i64.shr_u + local.get $b0 + local.get $shift i64.shl i64.or - local.set $lo - else - local.get $b1 + local.set $hi + local.get $u|48 + i32.const 8388607 + i32.and + i32.const 8388608 + i32.or + i64.extend_i32_s + local.set $mantissa + local.get $mantissa + local.get $hi + i64.mul + local.get $mantissa + local.get $lo + i64.mul i64.const 32 - local.get $shift - i64.sub i64.shr_u - local.set $lo + i64.add + local.set $product + local.get $product + i64.const 2 + i64.shl + local.set $r|59 + local.get $product + i64.const 62 + i64.shr_u + local.get $r|59 + i64.const 63 + i64.shr_u + i64.add + i32.wrap_i64 + local.set $q|60 + f64.const 8.515303950216386e-20 + local.get $x|47 + f64.promote_f32 + f64.copysign + local.get $r|59 + f64.convert_i64_s + f64.mul + global.set $~lib/math/rempio2f_y + local.get $q|60 + br $~lib/math/pio2f_large_quot|inlined.2 end - local.get $b1 - i64.const 64 - local.get $shift - i64.sub - i64.shr_u - local.get $b0 - local.get $shift - i64.shl - i64.or - local.set $hi - local.get $u|48 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.set $mantissa - local.get $mantissa - local.get $hi - i64.mul - local.get $mantissa - local.get $lo - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $product - local.get $product - i64.const 2 - i64.shl - local.set $r|59 - local.get $product - i64.const 62 - i64.shr_u - local.get $r|59 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.set $q|60 - f64.const 8.515303950216386e-20 - local.get $x|47 - f64.promote_f32 - f64.copysign - local.get $r|59 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - local.get $q|60 local.set $q|61 i32.const 0 local.get $q|61 @@ -14993,72 +15335,77 @@ local.get $q|61 local.get $sign|45 select + br $~lib/math/rempio2f|inlined.2 end local.set $n global.get $~lib/math/rempio2f_y local.set $y - local.get $y - local.set $x|64 - local.get $n - i32.const 1 - i32.and - local.set $odd|65 - local.get $x|64 - local.get $x|64 - f64.mul - local.set $z|66 - f64.const 0.002974357433599673 - local.get $z|66 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $r|67 - f64.const 0.05338123784456704 - local.get $z|66 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $t|68 - local.get $z|66 - local.get $z|66 - f64.mul - local.set $w|69 - local.get $z|66 - local.get $x|64 - f64.mul - local.set $s|70 - f64.const 0.3333313950307914 - local.get $z|66 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $u|71 - local.get $x|64 - local.get $s|70 - local.get $u|71 - f64.mul - f64.add - local.get $s|70 - local.get $w|69 - f64.mul - local.get $t|68 - local.get $w|69 - local.get $r|67 - f64.mul - f64.add - f64.mul - f64.add - local.set $r|67 - local.get $odd|65 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $r|67 - f64.div - else + block $~lib/math/tan_kernf|inlined.5 (result f32) + local.get $y + local.set $x|64 + local.get $n + i32.const 1 + i32.and + local.set $odd|65 + local.get $x|64 + local.get $x|64 + f64.mul + local.set $z|66 + f64.const 0.002974357433599673 + local.get $z|66 + f64.const 0.009465647849436732 + f64.mul + f64.add + local.set $r|67 + f64.const 0.05338123784456704 + local.get $z|66 + f64.const 0.024528318116654728 + f64.mul + f64.add + local.set $t|68 + local.get $z|66 + local.get $z|66 + f64.mul + local.set $w|69 + local.get $z|66 + local.get $x|64 + f64.mul + local.set $s|70 + f64.const 0.3333313950307914 + local.get $z|66 + f64.const 0.13339200271297674 + f64.mul + f64.add + local.set $u|71 + local.get $x|64 + local.get $s|70 + local.get $u|71 + f64.mul + f64.add + local.get $s|70 + local.get $w|69 + f64.mul + local.get $t|68 + local.get $w|69 local.get $r|67 + f64.mul + f64.add + f64.mul + f64.add + local.set $r|67 + local.get $odd|65 + if (result f64) + f32.const -1 + f64.promote_f32 + local.get $r|67 + f64.div + else + local.get $r|67 + end + f32.demote_f64 + br $~lib/math/tan_kernf|inlined.5 end - f32.demote_f64 + return ) (func $std/math/test_tanf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -15067,6 +15414,7 @@ local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.tanh (type $f64_=>_f64) (param $x f64) (result f64) (local $u i64) @@ -15159,6 +15507,7 @@ local.get $t local.get $x f64.copysign + return ) (func $std/math/test_tanh (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) local.get $value @@ -15177,6 +15526,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.tanh (type $f32_=>_f32) (param $x f32) (result f32) (local $u i32) @@ -15263,6 +15613,7 @@ local.get $t local.get $x f32.copysign + return ) (func $std/math/test_tanhf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) local.get $value @@ -15271,13 +15622,17 @@ local.get $error local.get $flags call $std/math/check + return ) (func $std/math/test_trunc (type $f64_f64_f64_i32_=>_i32) (param $value f64) (param $expected f64) (param $error f64) (param $flags i32) (result i32) (local $x f64) - local.get $value - local.set $x - local.get $x - f64.trunc + block $~lib/math/NativeMath.trunc|inlined.0 (result f64) + local.get $value + local.set $x + local.get $x + f64.trunc + br $~lib/math/NativeMath.trunc|inlined.0 + end local.get $expected local.get $error local.get $flags @@ -15292,17 +15647,22 @@ else i32.const 0 end + return ) (func $std/math/test_truncf (type $f32_f32_f32_i32_=>_i32) (param $value f32) (param $expected f32) (param $error f32) (param $flags i32) (result i32) (local $x f32) - local.get $value - local.set $x - local.get $x - f32.trunc + block $~lib/math/NativeMathf.trunc|inlined.0 (result f32) + local.get $value + local.set $x + local.get $x + f32.trunc + br $~lib/math/NativeMathf.trunc|inlined.0 + end local.get $expected local.get $error local.get $flags call $std/math/check + return ) (func $~lib/math/NativeMath.sincos (type $f64_=>_none) (param $x f64) (local $u i64) @@ -15466,67 +15826,70 @@ unreachable end global.set $~lib/math/NativeMath.sincos_sin - local.get $x - local.set $x|11 - f64.const 0 - local.set $y|12 - local.get $x|11 - local.get $x|11 - f64.mul - local.set $z|13 - local.get $z|13 - local.get $z|13 - f64.mul - local.set $w|14 - local.get $z|13 - f64.const 0.0416666666666666 - local.get $z|13 - f64.const -0.001388888888887411 - local.get $z|13 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $w|14 - local.get $w|14 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $z|13 - f64.const 2.087572321298175e-09 - local.get $z|13 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $r|15 - f64.const 0.5 - local.get $z|13 - f64.mul - local.set $hz - f64.const 1 - local.get $hz - f64.sub - local.set $w|14 - local.get $w|14 - f64.const 1 - local.get $w|14 - f64.sub - local.get $hz - f64.sub - local.get $z|13 - local.get $r|15 - f64.mul - local.get $x|11 - local.get $y|12 - f64.mul - f64.sub - f64.add - f64.add + block $~lib/math/cos_kern|inlined.3 (result f64) + local.get $x + local.set $x|11 + f64.const 0 + local.set $y|12 + local.get $x|11 + local.get $x|11 + f64.mul + local.set $z|13 + local.get $z|13 + local.get $z|13 + f64.mul + local.set $w|14 + local.get $z|13 + f64.const 0.0416666666666666 + local.get $z|13 + f64.const -0.001388888888887411 + local.get $z|13 + f64.const 2.480158728947673e-05 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.get $w|14 + local.get $w|14 + f64.mul + f64.const -2.7557314351390663e-07 + local.get $z|13 + f64.const 2.087572321298175e-09 + local.get $z|13 + f64.const -1.1359647557788195e-11 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $r|15 + f64.const 0.5 + local.get $z|13 + f64.mul + local.set $hz + f64.const 1 + local.get $hz + f64.sub + local.set $w|14 + local.get $w|14 + f64.const 1 + local.get $w|14 + f64.sub + local.get $hz + f64.sub + local.get $z|13 + local.get $r|15 + f64.mul + local.get $x|11 + local.get $y|12 + f64.mul + f64.sub + f64.add + f64.add + br $~lib/math/cos_kern|inlined.3 + end global.set $~lib/math/NativeMath.sincos_cos return end @@ -15787,6 +16150,7 @@ local.get $q|36 local.get $sign|20 select + br $~lib/math/rempio2|inlined.3 end local.set $n global.get $~lib/math/rempio2_y0 @@ -15868,67 +16232,70 @@ unreachable end local.set $s - local.get $y0|38 - local.set $x|48 - local.get $y1|39 - local.set $y|49 - local.get $x|48 - local.get $x|48 - f64.mul - local.set $z|50 - local.get $z|50 - local.get $z|50 - f64.mul - local.set $w|51 - local.get $z|50 - f64.const 0.0416666666666666 - local.get $z|50 - f64.const -0.001388888888887411 - local.get $z|50 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $w|51 - local.get $w|51 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $z|50 - f64.const 2.087572321298175e-09 - local.get $z|50 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $r|52 - f64.const 0.5 - local.get $z|50 - f64.mul - local.set $hz|53 - f64.const 1 - local.get $hz|53 - f64.sub - local.set $w|51 - local.get $w|51 - f64.const 1 - local.get $w|51 - f64.sub - local.get $hz|53 - f64.sub - local.get $z|50 - local.get $r|52 - f64.mul - local.get $x|48 - local.get $y|49 - f64.mul - f64.sub - f64.add - f64.add + block $~lib/math/cos_kern|inlined.4 (result f64) + local.get $y0|38 + local.set $x|48 + local.get $y1|39 + local.set $y|49 + local.get $x|48 + local.get $x|48 + f64.mul + local.set $z|50 + local.get $z|50 + local.get $z|50 + f64.mul + local.set $w|51 + local.get $z|50 + f64.const 0.0416666666666666 + local.get $z|50 + f64.const -0.001388888888887411 + local.get $z|50 + f64.const 2.480158728947673e-05 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.get $w|51 + local.get $w|51 + f64.mul + f64.const -2.7557314351390663e-07 + local.get $z|50 + f64.const 2.087572321298175e-09 + local.get $z|50 + f64.const -1.1359647557788195e-11 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $r|52 + f64.const 0.5 + local.get $z|50 + f64.mul + local.set $hz|53 + f64.const 1 + local.get $hz|53 + f64.sub + local.set $w|51 + local.get $w|51 + f64.const 1 + local.get $w|51 + f64.sub + local.get $hz|53 + f64.sub + local.get $z|50 + local.get $r|52 + f64.mul + local.get $x|48 + local.get $y|49 + f64.mul + f64.sub + f64.add + f64.add + br $~lib/math/cos_kern|inlined.4 + end local.set $c local.get $s local.set $sin @@ -15997,6 +16364,7 @@ else i32.const 0 end + return ) (func $~lib/math/dtoi32 (type $f64_=>_i32) (param $x f64) (result i32) (local $result i32) @@ -16098,6 +16466,7 @@ call $~lib/math/dtoi32 i32.mul f64.convert_i32_s + return ) (func $~lib/math/NativeMath.clz32 (type $f64_=>_f64) (param $x f64) (result f64) local.get $x @@ -16114,6 +16483,7 @@ call $~lib/math/dtoi32 i32.clz f64.convert_i32_s + return ) (func $~lib/math/ipow64 (type $i64_i64_=>_i64) (param $x i64) (param $e i64) (result i64) (local $out i64) @@ -16375,6 +16745,7 @@ end end local.get $out + return ) (func $~lib/math/ipow32 (type $i32_i32_=>_i32) (param $x i32) (param $e i32) (result i32) (local $out i32) @@ -16592,6 +16963,7 @@ end end local.get $out + return ) (func $start:std/math (type $none_=>_none) (local $0 f64) @@ -48698,197 +49070,245 @@ call $~lib/builtins/abort unreachable end - f64.const 0 - local.set $x - local.get $x - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.2 (result i32) + f64.const 0 + local.set $x + local.get $x + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.2 + end i32.const 0 i32.ne i32.const 0 i32.eq drop - f64.const -0 - local.set $x|11 - local.get $x|11 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.3 (result i32) + f64.const -0 + local.set $x|11 + local.get $x|11 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.3 + end i32.const 0 i32.ne i32.const 1 i32.eq drop - f64.const 1 - local.set $x|12 - local.get $x|12 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.4 (result i32) + f64.const 1 + local.set $x|12 + local.get $x|12 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.4 + end i32.const 0 i32.ne i32.const 0 i32.eq drop - f64.const -1 - local.set $x|13 - local.get $x|13 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.5 (result i32) + f64.const -1 + local.set $x|13 + local.get $x|13 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.5 + end i32.const 0 i32.ne i32.const 1 i32.eq drop - f64.const nan:0x8000000000000 - local.set $x|14 - local.get $x|14 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.6 (result i32) + f64.const nan:0x8000000000000 + local.set $x|14 + local.get $x|14 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.6 + end i32.const 0 i32.ne i32.const 0 i32.eq drop - f64.const nan:0x8000000000000 - f64.neg - local.set $x|15 - local.get $x|15 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.7 (result i32) + f64.const nan:0x8000000000000 + f64.neg + local.set $x|15 + local.get $x|15 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.7 + end i32.const 0 i32.ne i32.const 1 i32.eq drop - f64.const inf - local.set $x|16 - local.get $x|16 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.8 (result i32) + f64.const inf + local.set $x|16 + local.get $x|16 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.8 + end i32.const 0 i32.ne i32.const 0 i32.eq drop - f64.const inf - f64.neg - local.set $x|17 - local.get $x|17 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.9 (result i32) + f64.const inf + f64.neg + local.set $x|17 + local.get $x|17 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.9 + end i32.const 0 i32.ne i32.const 1 i32.eq drop - f32.const 0 - local.set $x|18 - local.get $x|18 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u + block $~lib/math/NativeMathf.signbit|inlined.2 (result i32) + f32.const 0 + local.set $x|18 + local.get $x|18 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMathf.signbit|inlined.2 + end i32.const 0 i32.ne i32.const 0 i32.eq drop - f32.const -0 - local.set $x|19 - local.get $x|19 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u + block $~lib/math/NativeMathf.signbit|inlined.3 (result i32) + f32.const -0 + local.set $x|19 + local.get $x|19 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMathf.signbit|inlined.3 + end i32.const 0 i32.ne i32.const 1 i32.eq drop - f32.const 1 - local.set $x|20 - local.get $x|20 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u + block $~lib/math/NativeMathf.signbit|inlined.4 (result i32) + f32.const 1 + local.set $x|20 + local.get $x|20 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMathf.signbit|inlined.4 + end i32.const 0 i32.ne i32.const 0 i32.eq drop - f32.const -1 - local.set $x|21 - local.get $x|21 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u + block $~lib/math/NativeMathf.signbit|inlined.5 (result i32) + f32.const -1 + local.set $x|21 + local.get $x|21 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMathf.signbit|inlined.5 + end i32.const 0 i32.ne i32.const 1 i32.eq drop - f32.const nan:0x400000 - local.set $x|22 - local.get $x|22 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u + block $~lib/math/NativeMathf.signbit|inlined.6 (result i32) + f32.const nan:0x400000 + local.set $x|22 + local.get $x|22 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMathf.signbit|inlined.6 + end i32.const 0 i32.ne i32.const 0 i32.eq drop - f32.const nan:0x400000 - f32.neg - local.set $x|23 - local.get $x|23 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u + block $~lib/math/NativeMathf.signbit|inlined.7 (result i32) + f32.const nan:0x400000 + f32.neg + local.set $x|23 + local.get $x|23 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMathf.signbit|inlined.7 + end i32.const 0 i32.ne i32.const 1 i32.eq drop - f32.const inf - local.set $x|24 - local.get $x|24 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u + block $~lib/math/NativeMathf.signbit|inlined.8 (result i32) + f32.const inf + local.set $x|24 + local.get $x|24 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMathf.signbit|inlined.8 + end i32.const 0 i32.ne i32.const 0 i32.eq drop - f32.const inf - f32.neg - local.set $x|25 - local.get $x|25 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u + block $~lib/math/NativeMathf.signbit|inlined.9 (result i32) + f32.const inf + f32.neg + local.set $x|25 + local.get $x|25 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMathf.signbit|inlined.9 + end i32.const 0 i32.ne i32.const 1 diff --git a/tests/compiler/std/mod.debug.wat b/tests/compiler/std/mod.debug.wat index afa838489f..1b005c70ab 100644 --- a/tests/compiler/std/mod.debug.wat +++ b/tests/compiler/std/mod.debug.wat @@ -273,6 +273,7 @@ i64.shl i64.or f64.reinterpret_i64 + return ) (func $std/mod/check (type $f64_f64_=>_i32) (param $actual f64) (param $expected f64) (result i32) local.get $expected @@ -301,6 +302,7 @@ local.get $actual local.get $expected f64.eq + return ) (func $std/mod/test_fmod (type $f64_f64_f64_=>_i32) (param $left f64) (param $right f64) (param $expected f64) (result i32) local.get $left @@ -317,6 +319,7 @@ else i32.const 0 end + return ) (func $~lib/math/NativeMathf.mod (type $f32_f32_=>_f32) (param $x f32) (param $y f32) (result f32) (local $ux i32) @@ -565,6 +568,7 @@ local.get $sm i32.or f32.reinterpret_i32 + return ) (func $std/mod/check (type $f32_f32_=>_i32) (param $actual f32) (param $expected f32) (result i32) local.get $expected @@ -593,6 +597,7 @@ local.get $actual local.get $expected f32.eq + return ) (func $std/mod/test_fmodf (type $f32_f32_f32_=>_i32) (param $left f32) (param $right f32) (param $expected f32) (result i32) local.get $left @@ -600,6 +605,7 @@ call $~lib/math/NativeMathf.mod local.get $expected call $std/mod/check + return ) (func $start:std/mod (type $none_=>_none) f64.const 3 diff --git a/tests/compiler/std/new.debug.wat b/tests/compiler/std/new.debug.wat index 878afbae69..e3f50d3c76 100644 --- a/tests/compiler/std/new.debug.wat +++ b/tests/compiler/std/new.debug.wat @@ -77,6 +77,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -89,12 +90,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -252,6 +255,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -271,6 +275,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -388,6 +393,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -563,22 +569,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -603,16 +612,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -708,18 +720,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -743,18 +758,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -764,12 +782,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -917,22 +938,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -977,16 +1001,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1041,10 +1068,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1160,6 +1190,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1342,6 +1373,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1576,6 +1608,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1654,6 +1687,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1669,6 +1703,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1759,16 +1794,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1801,16 +1839,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1824,46 +1865,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1900,10 +1948,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2023,30 +2074,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2117,6 +2174,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2129,6 +2187,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2191,6 +2250,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $start:std/new (type $none_=>_none) memory.size $0 diff --git a/tests/compiler/std/new.release.wat b/tests/compiler/std/new.release.wat index ccb2c1fc30..0192037e95 100644 --- a/tests/compiler/std/new.release.wat +++ b/tests/compiler/std/new.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) @@ -84,6 +84,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34232 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1440 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1342,146 +1474,18 @@ global.set $std/new/aClass ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34232 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1444 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/std/object.debug.wat b/tests/compiler/std/object.debug.wat index 4d93146092..8c0b93bcc5 100644 --- a/tests/compiler/std/object.debug.wat +++ b/tests/compiler/std/object.debug.wat @@ -78,6 +78,7 @@ local.get $x local.get $y i32.eq + return ) (func $~lib/object/Object.is (type $i32_i32_=>_i32) (param $x i32) (param $y i32) (result i32) i32.const 0 @@ -89,6 +90,7 @@ i32.const 0 i32.ne i32.eq + return ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -101,6 +103,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -204,6 +207,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -246,6 +250,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/object/Object.is<~lib/string/String> (type $i32_i32_=>_i32) (param $x i32) (param $y i32) (result i32) i32.const 0 @@ -253,6 +258,7 @@ local.get $x local.get $y call $~lib/string/String.__eq + return ) (func $~lib/object/Object.is<~lib/string/String|null> (type $i32_i32_=>_i32) (param $x i32) (param $y i32) (result i32) i32.const 0 @@ -260,6 +266,7 @@ local.get $x local.get $y call $~lib/string/String.__eq + return ) (func $~lib/rt/stub/maybeGrowMemory (type $i32_=>_none) (param $newOffset i32) (local $pagesBefore i32) @@ -349,19 +356,22 @@ i32.const 4 i32.add local.set $ptr - local.get $size - local.set $size|3 - local.get $size|3 - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub + block $~lib/rt/stub/computeSize|inlined.0 (result i32) + local.get $size + local.set $size|3 + local.get $size|3 + i32.const 4 + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + i32.const 4 + i32.sub + br $~lib/rt/stub/computeSize|inlined.0 + end local.set $payloadSize local.get $ptr local.get $payloadSize @@ -371,6 +381,7 @@ local.get $payloadSize call $~lib/rt/common/BLOCK#set:mmInfo local.get $ptr + return ) (func $~lib/rt/common/OBJECT#set:gcInfo (type $i32_i32_=>_none) (param $this i32) (param $gcInfo i32) local.get $this @@ -430,6 +441,7 @@ local.get $ptr i32.const 16 i32.add + return ) (func $std/object/Implicit#constructor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this diff --git a/tests/compiler/std/operator-overloading.debug.wat b/tests/compiler/std/operator-overloading.debug.wat index 5efbdb5278..0411db7701 100644 --- a/tests/compiler/std/operator-overloading.debug.wat +++ b/tests/compiler/std/operator-overloading.debug.wat @@ -132,6 +132,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -144,12 +145,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -307,6 +310,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -326,6 +330,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -443,6 +448,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -618,22 +624,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -658,16 +667,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -763,18 +775,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -798,18 +813,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -819,12 +837,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -972,22 +993,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1032,16 +1056,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1096,10 +1123,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1215,6 +1245,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1397,6 +1428,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1631,6 +1663,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1709,6 +1742,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1724,6 +1758,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1814,16 +1849,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1856,16 +1894,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1879,46 +1920,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1955,10 +2003,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2078,30 +2129,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2172,6 +2229,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2184,6 +2242,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2246,6 +2305,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $std/operator-overloading/Tester#set:x (type $i32_i32_=>_none) (param $this i32) (param $x i32) local.get $this @@ -2278,6 +2338,7 @@ call $std/operator-overloading/Tester#get:y i32.add call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.sub (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) i32.const 0 @@ -2292,6 +2353,7 @@ call $std/operator-overloading/Tester#get:y i32.sub call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.mul (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) i32.const 0 @@ -2306,6 +2368,7 @@ call $std/operator-overloading/Tester#get:y i32.mul call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.div (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) i32.const 0 @@ -2320,6 +2383,7 @@ call $std/operator-overloading/Tester#get:y i32.div_s call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.mod (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) i32.const 0 @@ -2334,6 +2398,7 @@ call $std/operator-overloading/Tester#get:y i32.rem_s call $std/operator-overloading/Tester#constructor + return ) (func $~lib/math/ipow32 (type $i32_i32_=>_i32) (param $x i32) (param $e i32) (result i32) (local $out i32) @@ -2551,6 +2616,7 @@ end end local.get $out + return ) (func $std/operator-overloading/Tester.pow (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) i32.const 0 @@ -2565,6 +2631,7 @@ call $std/operator-overloading/Tester#get:y call $~lib/math/ipow32 call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.and (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) i32.const 0 @@ -2579,6 +2646,7 @@ call $std/operator-overloading/Tester#get:y i32.and call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.or (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) i32.const 0 @@ -2593,6 +2661,7 @@ call $std/operator-overloading/Tester#get:y i32.or call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.xor (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) i32.const 0 @@ -2607,6 +2676,7 @@ call $std/operator-overloading/Tester#get:y i32.xor call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.equals (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -2623,6 +2693,7 @@ else i32.const 0 end + return ) (func $std/operator-overloading/Tester.notEquals (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -2639,6 +2710,7 @@ else i32.const 0 end + return ) (func $std/operator-overloading/Tester.greater (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -2655,6 +2727,7 @@ else i32.const 0 end + return ) (func $std/operator-overloading/Tester.greaterEquals (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -2671,6 +2744,7 @@ else i32.const 0 end + return ) (func $std/operator-overloading/Tester.less (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -2687,6 +2761,7 @@ else i32.const 0 end + return ) (func $std/operator-overloading/Tester.lessEquals (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -2703,6 +2778,7 @@ else i32.const 0 end + return ) (func $std/operator-overloading/Tester.shr (type $i32_i32_=>_i32) (param $value i32) (param $shift i32) (result i32) i32.const 0 @@ -2715,6 +2791,7 @@ local.get $shift i32.shr_s call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.shu (type $i32_i32_=>_i32) (param $value i32) (param $shift i32) (result i32) i32.const 0 @@ -2727,6 +2804,7 @@ local.get $shift i32.shr_u call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.shl (type $i32_i32_=>_i32) (param $value i32) (param $shift i32) (result i32) i32.const 0 @@ -2739,6 +2817,7 @@ local.get $shift i32.shl call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.pos (type $i32_=>_i32) (param $value i32) (result i32) i32.const 0 @@ -2747,6 +2826,7 @@ local.get $value call $std/operator-overloading/Tester#get:y call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.neg (type $i32_=>_i32) (param $value i32) (result i32) i32.const 0 @@ -2759,6 +2839,7 @@ call $std/operator-overloading/Tester#get:y i32.sub call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.not (type $i32_=>_i32) (param $value i32) (result i32) i32.const 0 @@ -2771,6 +2852,7 @@ i32.const -1 i32.xor call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester.excl (type $i32_=>_i32) (param $value i32) (result i32) local.get $value @@ -2783,6 +2865,7 @@ else i32.const 0 end + return ) (func $std/operator-overloading/Tester#inc (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2798,6 +2881,7 @@ i32.add call $std/operator-overloading/Tester#set:y local.get $this + return ) (func $std/operator-overloading/Tester#dec (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2813,6 +2897,7 @@ i32.sub call $std/operator-overloading/Tester#set:y local.get $this + return ) (func $std/operator-overloading/Tester#postInc (type $i32_=>_i32) (param $this i32) (result i32) i32.const 0 @@ -2825,6 +2910,7 @@ i32.const 1 i32.add call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/Tester#postDec (type $i32_=>_i32) (param $this i32) (result i32) i32.const 0 @@ -2837,6 +2923,7 @@ i32.const 1 i32.sub call $std/operator-overloading/Tester#constructor + return ) (func $std/operator-overloading/TesterInlineStatic#set:x (type $i32_i32_=>_none) (param $this i32) (param $x i32) local.get $this @@ -2895,6 +2982,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2998,6 +3086,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -3040,6 +3129,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $std/operator-overloading/TesterElementAccess#get:x (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -3611,6 +3701,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + return ) (func $start:std/operator-overloading (type $none_=>_none) (local $0 i32) @@ -5014,51 +5105,57 @@ i32.const 2 call $std/operator-overloading/TesterInlineStatic#constructor global.set $std/operator-overloading/ais1 - global.get $~lib/memory/__stack_pointer - global.get $std/operator-overloading/ais1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 - local.get $9 - local.tee $3 - i32.store $0 offset=16 - i32.const 0 - local.get $3 - call $std/operator-overloading/TesterInlineStatic#get:x - i32.const 1 - i32.add - local.get $3 - call $std/operator-overloading/TesterInlineStatic#get:y - i32.const 1 - i32.add - call $std/operator-overloading/TesterInlineStatic#constructor + block $std/operator-overloading/TesterInlineStatic.postInc|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + global.get $std/operator-overloading/ais1 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + local.tee $3 + i32.store $0 offset=16 + i32.const 0 + local.get $3 + call $std/operator-overloading/TesterInlineStatic#get:x + i32.const 1 + i32.add + local.get $3 + call $std/operator-overloading/TesterInlineStatic#get:y + i32.const 1 + i32.add + call $std/operator-overloading/TesterInlineStatic#constructor + br $std/operator-overloading/TesterInlineStatic.postInc|inlined.0 + end global.set $std/operator-overloading/ais1 i32.const 0 i32.const 2 i32.const 3 call $std/operator-overloading/TesterInlineStatic#constructor global.set $std/operator-overloading/ais2 - global.get $~lib/memory/__stack_pointer - global.get $std/operator-overloading/ais1 - local.tee $4 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - global.get $std/operator-overloading/ais2 - local.tee $5 - i32.store $0 offset=24 - i32.const 0 - local.get $4 - call $std/operator-overloading/TesterInlineStatic#get:x - local.get $5 - call $std/operator-overloading/TesterInlineStatic#get:x - i32.add - local.get $4 - call $std/operator-overloading/TesterInlineStatic#get:y - local.get $5 - call $std/operator-overloading/TesterInlineStatic#get:y - i32.add - call $std/operator-overloading/TesterInlineStatic#constructor + block $std/operator-overloading/TesterInlineStatic.add|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + global.get $std/operator-overloading/ais1 + local.tee $4 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + global.get $std/operator-overloading/ais2 + local.tee $5 + i32.store $0 offset=24 + i32.const 0 + local.get $4 + call $std/operator-overloading/TesterInlineStatic#get:x + local.get $5 + call $std/operator-overloading/TesterInlineStatic#get:x + i32.add + local.get $4 + call $std/operator-overloading/TesterInlineStatic#get:y + local.get $5 + call $std/operator-overloading/TesterInlineStatic#get:y + i32.add + call $std/operator-overloading/TesterInlineStatic#constructor + br $std/operator-overloading/TesterInlineStatic.add|inlined.0 + end global.set $std/operator-overloading/ais global.get $std/operator-overloading/ais local.set $9 @@ -5096,46 +5193,52 @@ i32.const 2 call $std/operator-overloading/TesterInlineInstance#constructor global.set $std/operator-overloading/aii1 - global.get $~lib/memory/__stack_pointer - global.get $std/operator-overloading/aii1 - local.tee $6 - i32.store $0 offset=28 - i32.const 0 - local.get $6 - call $std/operator-overloading/TesterInlineInstance#get:x - i32.const 1 - i32.add - local.get $6 - call $std/operator-overloading/TesterInlineInstance#get:y - i32.const 1 - i32.add - call $std/operator-overloading/TesterInlineInstance#constructor + block $std/operator-overloading/TesterInlineInstance#postInc|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + global.get $std/operator-overloading/aii1 + local.tee $6 + i32.store $0 offset=28 + i32.const 0 + local.get $6 + call $std/operator-overloading/TesterInlineInstance#get:x + i32.const 1 + i32.add + local.get $6 + call $std/operator-overloading/TesterInlineInstance#get:y + i32.const 1 + i32.add + call $std/operator-overloading/TesterInlineInstance#constructor + br $std/operator-overloading/TesterInlineInstance#postInc|inlined.0 + end global.set $std/operator-overloading/aii1 i32.const 0 i32.const 2 i32.const 3 call $std/operator-overloading/TesterInlineInstance#constructor global.set $std/operator-overloading/aii2 - global.get $~lib/memory/__stack_pointer - global.get $std/operator-overloading/aii1 - local.tee $7 - i32.store $0 offset=32 - global.get $~lib/memory/__stack_pointer - global.get $std/operator-overloading/aii2 - local.tee $8 - i32.store $0 offset=36 - i32.const 0 - local.get $7 - call $std/operator-overloading/TesterInlineInstance#get:x - local.get $8 - call $std/operator-overloading/TesterInlineInstance#get:x - i32.add - local.get $7 - call $std/operator-overloading/TesterInlineInstance#get:y - local.get $8 - call $std/operator-overloading/TesterInlineInstance#get:y - i32.add - call $std/operator-overloading/TesterInlineInstance#constructor + block $std/operator-overloading/TesterInlineInstance#add|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + global.get $std/operator-overloading/aii1 + local.tee $7 + i32.store $0 offset=32 + global.get $~lib/memory/__stack_pointer + global.get $std/operator-overloading/aii2 + local.tee $8 + i32.store $0 offset=36 + i32.const 0 + local.get $7 + call $std/operator-overloading/TesterInlineInstance#get:x + local.get $8 + call $std/operator-overloading/TesterInlineInstance#get:x + i32.add + local.get $7 + call $std/operator-overloading/TesterInlineInstance#get:y + local.get $8 + call $std/operator-overloading/TesterInlineInstance#get:y + i32.add + call $std/operator-overloading/TesterInlineInstance#constructor + br $std/operator-overloading/TesterInlineInstance#add|inlined.0 + end global.set $std/operator-overloading/aii global.get $std/operator-overloading/aii local.set $9 diff --git a/tests/compiler/std/pointer.debug.wat b/tests/compiler/std/pointer.debug.wat index 47e1867c31..6af7d2c7f9 100644 --- a/tests/compiler/std/pointer.debug.wat +++ b/tests/compiler/std/pointer.debug.wat @@ -96,21 +96,30 @@ (local $this|55 i32) (local $value|56 f32) (local $this|57 i32) - i32.const 0 - local.set $this - i32.const 8 - local.set $offset - local.get $offset + block $std/pointer/Pointer#constructor|inlined.0 (result i32) + i32.const 0 + local.set $this + i32.const 8 + local.set $offset + local.get $offset + br $std/pointer/Pointer#constructor|inlined.0 + end global.set $std/pointer/one - i32.const 0 - local.set $this|2 - i32.const 24 - local.set $offset|3 - local.get $offset|3 + block $std/pointer/Pointer#constructor|inlined.1 (result i32) + i32.const 0 + local.set $this|2 + i32.const 24 + local.set $offset|3 + local.get $offset|3 + br $std/pointer/Pointer#constructor|inlined.1 + end global.set $std/pointer/two - global.get $std/pointer/one - local.set $this|4 - local.get $this|4 + block $std/pointer/Pointer#get:offset|inlined.0 (result i32) + global.get $std/pointer/one + local.set $this|4 + local.get $this|4 + br $std/pointer/Pointer#get:offset|inlined.0 + end i32.const 8 i32.eq i32.eqz @@ -122,9 +131,12 @@ call $~lib/builtins/abort unreachable end - global.get $std/pointer/two - local.set $this|5 - local.get $this|5 + block $std/pointer/Pointer#get:offset|inlined.1 (result i32) + global.get $std/pointer/two + local.set $this|5 + local.get $this|5 + br $std/pointer/Pointer#get:offset|inlined.1 + end i32.const 24 i32.eq i32.eqz @@ -196,17 +208,23 @@ call $~lib/builtins/abort unreachable end - global.get $std/pointer/one - local.set $this|10 - global.get $std/pointer/two - local.set $other - local.get $this|10 - local.get $other - i32.add + block $std/pointer/Pointer#add|inlined.0 (result i32) + global.get $std/pointer/one + local.set $this|10 + global.get $std/pointer/two + local.set $other + local.get $this|10 + local.get $other + i32.add + br $std/pointer/Pointer#add|inlined.0 + end global.set $std/pointer/add - global.get $std/pointer/add - local.set $this|12 - local.get $this|12 + block $std/pointer/Pointer#get:offset|inlined.2 (result i32) + global.get $std/pointer/add + local.set $this|12 + local.get $this|12 + br $std/pointer/Pointer#get:offset|inlined.2 + end i32.const 32 i32.eq i32.eqz @@ -218,17 +236,23 @@ call $~lib/builtins/abort unreachable end - global.get $std/pointer/two - local.set $this|13 - global.get $std/pointer/one - local.set $other|14 - local.get $this|13 - local.get $other|14 - i32.sub + block $std/pointer/Pointer#sub|inlined.0 (result i32) + global.get $std/pointer/two + local.set $this|13 + global.get $std/pointer/one + local.set $other|14 + local.get $this|13 + local.get $other|14 + i32.sub + br $std/pointer/Pointer#sub|inlined.0 + end global.set $std/pointer/sub - global.get $std/pointer/sub - local.set $this|15 - local.get $this|15 + block $std/pointer/Pointer#get:offset|inlined.3 (result i32) + global.get $std/pointer/sub + local.set $this|15 + local.get $this|15 + br $std/pointer/Pointer#get:offset|inlined.3 + end i32.const 16 i32.eq i32.eqz @@ -240,9 +264,12 @@ call $~lib/builtins/abort unreachable end - global.get $std/pointer/one - local.set $this|16 - local.get $this|16 + block $std/pointer/Pointer#get:offset|inlined.4 (result i32) + global.get $std/pointer/one + local.set $this|16 + local.get $this|16 + br $std/pointer/Pointer#get:offset|inlined.4 + end i32.const 8 i32.eq i32.eqz @@ -254,11 +281,14 @@ call $~lib/builtins/abort unreachable end - global.get $std/pointer/one - local.set $this|17 - local.get $this|17 - i32.const 8 - i32.add + block $std/pointer/Pointer#inc|inlined.0 (result i32) + global.get $std/pointer/one + local.set $this|17 + local.get $this|17 + i32.const 8 + i32.add + br $std/pointer/Pointer#inc|inlined.0 + end global.set $std/pointer/one global.get $std/pointer/one global.set $std/pointer/nextOne @@ -274,9 +304,12 @@ call $~lib/builtins/abort unreachable end - global.get $std/pointer/one - local.set $this|18 - local.get $this|18 + block $std/pointer/Pointer#get:offset|inlined.5 (result i32) + global.get $std/pointer/one + local.set $this|18 + local.get $this|18 + br $std/pointer/Pointer#get:offset|inlined.5 + end i32.const 16 i32.eq i32.eqz @@ -288,9 +321,12 @@ call $~lib/builtins/abort unreachable end - global.get $std/pointer/two - local.set $this|19 - local.get $this|19 + block $std/pointer/Pointer#get:offset|inlined.6 (result i32) + global.get $std/pointer/two + local.set $this|19 + local.get $this|19 + br $std/pointer/Pointer#get:offset|inlined.6 + end i32.const 24 i32.eq i32.eqz @@ -302,21 +338,30 @@ call $~lib/builtins/abort unreachable end - global.get $std/pointer/two - local.set $this|20 - local.get $this|20 - i32.const 8 - i32.sub + block $std/pointer/Pointer#dec|inlined.0 (result i32) + global.get $std/pointer/two + local.set $this|20 + local.get $this|20 + i32.const 8 + i32.sub + br $std/pointer/Pointer#dec|inlined.0 + end global.set $std/pointer/two - global.get $std/pointer/two - local.set $this|21 - local.get $this|21 - i32.const 8 - i32.sub + block $std/pointer/Pointer#dec|inlined.1 (result i32) + global.get $std/pointer/two + local.set $this|21 + local.get $this|21 + i32.const 8 + i32.sub + br $std/pointer/Pointer#dec|inlined.1 + end global.set $std/pointer/two - global.get $std/pointer/two - local.set $this|22 - local.get $this|22 + block $std/pointer/Pointer#get:offset|inlined.7 (result i32) + global.get $std/pointer/two + local.set $this|22 + local.get $this|22 + br $std/pointer/Pointer#get:offset|inlined.7 + end i32.const 8 i32.eq i32.eqz @@ -397,12 +442,18 @@ i32.const 8 memory.copy $0 $0 end - global.get $std/pointer/one - local.set $this|28 - local.get $this|28 - global.get $std/pointer/two - local.set $this|29 - local.get $this|29 + block $std/pointer/Pointer#get:offset|inlined.8 (result i32) + global.get $std/pointer/one + local.set $this|28 + local.get $this|28 + br $std/pointer/Pointer#get:offset|inlined.8 + end + block $std/pointer/Pointer#get:offset|inlined.9 (result i32) + global.get $std/pointer/two + local.set $this|29 + local.get $this|29 + br $std/pointer/Pointer#get:offset|inlined.9 + end i32.ne i32.eqz if @@ -453,11 +504,14 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $this|32 - i32.const 0 - local.set $offset|33 - local.get $offset|33 + block $std/pointer/Pointer#constructor|inlined.0 (result i32) + i32.const 0 + local.set $this|32 + i32.const 0 + local.set $offset|33 + local.get $offset|33 + br $std/pointer/Pointer#constructor|inlined.0 + end global.set $std/pointer/buf global.get $std/pointer/buf local.set $this|34 @@ -485,16 +539,19 @@ i32.add local.get $value|39 f32.store $0 - global.get $std/pointer/buf - local.set $this|40 - i32.const 0 - local.set $index|41 - local.get $this|40 - local.get $index|41 - i32.const 4 - i32.mul - i32.add - f32.load $0 + block $std/pointer/Pointer#get|inlined.0 (result f32) + global.get $std/pointer/buf + local.set $this|40 + i32.const 0 + local.set $index|41 + local.get $this|40 + local.get $index|41 + i32.const 4 + i32.mul + i32.add + f32.load $0 + br $std/pointer/Pointer#get|inlined.0 + end f32.const 1.100000023841858 f32.eq i32.eqz @@ -506,16 +563,19 @@ call $~lib/builtins/abort unreachable end - global.get $std/pointer/buf - local.set $this|42 - i32.const 1 - local.set $index|43 - local.get $this|42 - local.get $index|43 - i32.const 4 - i32.mul - i32.add - f32.load $0 + block $std/pointer/Pointer#get|inlined.1 (result f32) + global.get $std/pointer/buf + local.set $this|42 + i32.const 1 + local.set $index|43 + local.get $this|42 + local.get $index|43 + i32.const 4 + i32.mul + i32.add + f32.load $0 + br $std/pointer/Pointer#get|inlined.1 + end f32.const 1.2000000476837158 f32.eq i32.eqz @@ -527,16 +587,19 @@ call $~lib/builtins/abort unreachable end - global.get $std/pointer/buf - local.set $this|44 - i32.const 0 - local.set $index|45 - local.get $this|44 - local.get $index|45 - i32.const 4 - i32.mul - i32.add - f32.load $0 + block $std/pointer/Pointer#get|inlined.2 (result f32) + global.get $std/pointer/buf + local.set $this|44 + i32.const 0 + local.set $index|45 + local.get $this|44 + local.get $index|45 + i32.const 4 + i32.mul + i32.add + f32.load $0 + br $std/pointer/Pointer#get|inlined.2 + end f32.const 1.100000023841858 f32.eq i32.eqz @@ -548,16 +611,19 @@ call $~lib/builtins/abort unreachable end - global.get $std/pointer/buf - local.set $this|46 - i32.const 1 - local.set $index|47 - local.get $this|46 - local.get $index|47 - i32.const 4 - i32.mul - i32.add - f32.load $0 + block $std/pointer/Pointer#get|inlined.3 (result f32) + global.get $std/pointer/buf + local.set $this|46 + i32.const 1 + local.set $index|47 + local.get $this|46 + local.get $index|47 + i32.const 4 + i32.mul + i32.add + f32.load $0 + br $std/pointer/Pointer#get|inlined.3 + end f32.const 1.2000000476837158 f32.eq i32.eqz @@ -608,16 +674,19 @@ i32.add local.get $value|50 f32.store $0 - global.get $std/pointer/buf - local.set $this|51 - i32.const 2 - local.set $index|52 - local.get $this|51 - local.get $index|52 - i32.const 4 - i32.mul - i32.add - f32.load $0 + block $std/pointer/Pointer#get|inlined.4 (result f32) + global.get $std/pointer/buf + local.set $this|51 + i32.const 2 + local.set $index|52 + local.get $this|51 + local.get $index|52 + i32.const 4 + i32.mul + i32.add + f32.load $0 + br $std/pointer/Pointer#get|inlined.4 + end f32.const 1.2999999523162842 f32.eq i32.eqz @@ -629,16 +698,19 @@ call $~lib/builtins/abort unreachable end - global.get $std/pointer/buf - local.set $this|53 - i32.const 2 - local.set $index|54 - local.get $this|53 - local.get $index|54 - i32.const 4 - i32.mul - i32.add - f32.load $0 + block $std/pointer/Pointer#get|inlined.5 (result f32) + global.get $std/pointer/buf + local.set $this|53 + i32.const 2 + local.set $index|54 + local.get $this|53 + local.get $index|54 + i32.const 4 + i32.mul + i32.add + f32.load $0 + br $std/pointer/Pointer#get|inlined.5 + end f32.const 1.2999999523162842 f32.eq i32.eqz diff --git a/tests/compiler/std/set.debug.wat b/tests/compiler/std/set.debug.wat index f88a6597e8..85d13c6344 100644 --- a/tests/compiler/std/set.debug.wat +++ b/tests/compiler/std/set.debug.wat @@ -85,6 +85,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -97,12 +98,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -260,6 +263,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -279,6 +283,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -396,6 +401,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -571,22 +577,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -611,16 +620,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -716,18 +728,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -751,18 +766,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -772,12 +790,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -925,22 +946,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -985,16 +1009,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1049,10 +1076,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1168,6 +1198,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1350,6 +1381,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1584,6 +1616,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1662,6 +1695,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1677,6 +1711,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1767,16 +1802,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1809,16 +1847,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1832,46 +1873,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1908,10 +1956,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2031,30 +2082,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2125,6 +2182,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2137,6 +2195,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2199,6 +2258,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2320,56 +2380,59 @@ i32.const 4 i32.le_u drop - local.get $key - i32.extend8_s - local.set $key|1 - i32.const 1 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.0 (result i32) + local.get $key + i32.extend8_s + local.set $key|1 + i32.const 1 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.0 + end return ) (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -2436,6 +2499,7 @@ end end i32.const 0 + return ) (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) local.get $this @@ -2445,6 +2509,7 @@ call $~lib/set/Set#find i32.const 0 i32.ne + return ) (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2514,7 +2579,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -2525,7 +2593,10 @@ local.get $oldPtr local.get $this call $~lib/set/Set#get:entriesOffset - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -2571,12 +2642,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -2658,7 +2735,10 @@ i32.add call $~lib/set/Set#set:entriesOffset local.get $4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -2692,10 +2772,12 @@ i32.store $0 end local.get $this + return ) (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/set/Set#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -2793,6 +2875,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) (local $oldCapacity i32) @@ -2907,6 +2990,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -2933,6 +3017,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -3000,6 +3085,7 @@ call $~lib/set/Set#rehash end i32.const 1 + return ) (func $std/set/testNumeric (type $none_=>_none) (local $set i32) @@ -3397,57 +3483,60 @@ i32.const 4 i32.le_u drop - local.get $key - i32.const 255 - i32.and - local.set $key|1 - i32.const 1 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.1 (result i32) + local.get $key + i32.const 255 + i32.and + local.set $key|1 + i32.const 1 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.1 + end return ) (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -3516,6 +3605,7 @@ end end i32.const 0 + return ) (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) local.get $this @@ -3525,6 +3615,7 @@ call $~lib/set/Set#find i32.const 0 i32.ne + return ) (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -3594,7 +3685,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -3605,7 +3699,10 @@ local.get $oldPtr local.get $this call $~lib/set/Set#get:entriesOffset - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -3651,12 +3748,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -3738,7 +3841,10 @@ i32.add call $~lib/set/Set#set:entriesOffset local.get $4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -3772,10 +3878,12 @@ i32.store $0 end local.get $this + return ) (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/set/Set#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -3834,6 +3942,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -3860,6 +3969,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -3927,6 +4037,7 @@ call $~lib/set/Set#rehash end i32.const 1 + return ) (func $std/set/testNumeric (type $none_=>_none) (local $set i32) @@ -4324,56 +4435,59 @@ i32.const 4 i32.le_u drop - local.get $key - i32.extend16_s - local.set $key|1 - i32.const 2 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.2 (result i32) + local.get $key + i32.extend16_s + local.set $key|1 + i32.const 2 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.2 + end return ) (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -4440,6 +4554,7 @@ end end i32.const 0 + return ) (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) local.get $this @@ -4449,6 +4564,7 @@ call $~lib/set/Set#find i32.const 0 i32.ne + return ) (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -4518,7 +4634,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -4529,7 +4648,10 @@ local.get $oldPtr local.get $this call $~lib/set/Set#get:entriesOffset - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -4575,12 +4697,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -4662,7 +4790,10 @@ i32.add call $~lib/set/Set#set:entriesOffset local.get $4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -4696,10 +4827,12 @@ i32.store $0 end local.get $this + return ) (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/set/Set#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -4758,6 +4891,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -4784,6 +4918,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -4851,6 +4986,7 @@ call $~lib/set/Set#rehash end i32.const 1 + return ) (func $std/set/testNumeric (type $none_=>_none) (local $set i32) @@ -5248,57 +5384,60 @@ i32.const 4 i32.le_u drop - local.get $key - i32.const 65535 - i32.and - local.set $key|1 - i32.const 2 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.3 (result i32) + local.get $key + i32.const 65535 + i32.and + local.set $key|1 + i32.const 2 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.3 + end return ) (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -5367,6 +5506,7 @@ end end i32.const 0 + return ) (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) local.get $this @@ -5376,6 +5516,7 @@ call $~lib/set/Set#find i32.const 0 i32.ne + return ) (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -5445,7 +5586,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -5456,7 +5600,10 @@ local.get $oldPtr local.get $this call $~lib/set/Set#get:entriesOffset - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -5502,12 +5649,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -5589,7 +5742,10 @@ i32.add call $~lib/set/Set#set:entriesOffset local.get $4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -5623,10 +5779,12 @@ i32.store $0 end local.get $this + return ) (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/set/Set#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -5685,6 +5843,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -5711,6 +5870,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -5778,6 +5938,7 @@ call $~lib/set/Set#rehash end i32.const 1 + return ) (func $std/set/testNumeric (type $none_=>_none) (local $set i32) @@ -6175,55 +6336,58 @@ i32.const 4 i32.le_u drop - local.get $key - local.set $key|1 - i32.const 4 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.4 (result i32) + local.get $key + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.4 + end return ) (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -6288,6 +6452,7 @@ end end i32.const 0 + return ) (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) local.get $this @@ -6297,6 +6462,7 @@ call $~lib/set/Set#find i32.const 0 i32.ne + return ) (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -6366,7 +6532,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -6377,7 +6546,10 @@ local.get $oldPtr local.get $this call $~lib/set/Set#get:entriesOffset - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -6423,12 +6595,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -6510,7 +6688,10 @@ i32.add call $~lib/set/Set#set:entriesOffset local.get $4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -6544,10 +6725,12 @@ i32.store $0 end local.get $this + return ) (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/set/Set#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -6606,6 +6789,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -6632,6 +6816,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -6699,6 +6884,7 @@ call $~lib/set/Set#rehash end i32.const 1 + return ) (func $std/set/testNumeric (type $none_=>_none) (local $set i32) @@ -7096,55 +7282,58 @@ i32.const 4 i32.le_u drop - local.get $key - local.set $key|1 - i32.const 4 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.5 (result i32) + local.get $key + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.5 + end return ) (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -7209,6 +7398,7 @@ end end i32.const 0 + return ) (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) local.get $this @@ -7218,6 +7408,7 @@ call $~lib/set/Set#find i32.const 0 i32.ne + return ) (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -7287,7 +7478,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -7298,7 +7492,10 @@ local.get $oldPtr local.get $this call $~lib/set/Set#get:entriesOffset - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -7344,12 +7541,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -7431,7 +7634,10 @@ i32.add call $~lib/set/Set#set:entriesOffset local.get $4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -7465,10 +7671,12 @@ i32.store $0 end local.get $this + return ) (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/set/Set#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -7527,6 +7735,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -7553,6 +7762,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -7620,6 +7830,7 @@ call $~lib/set/Set#rehash end i32.const 1 + return ) (func $std/set/testNumeric (type $none_=>_none) (local $set i32) @@ -8020,69 +8231,72 @@ i32.const 8 i32.eq drop - local.get $key - local.set $key|1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash64|inlined.0 (result i32) + local.get $key + local.set $key|1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash64|inlined.0 + end return ) (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -8147,6 +8361,7 @@ end end i32.const 0 + return ) (func $~lib/set/Set#has (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) local.get $this @@ -8156,6 +8371,7 @@ call $~lib/set/Set#find i32.const 0 i32.ne + return ) (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -8225,7 +8441,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -8236,7 +8455,10 @@ local.get $oldPtr local.get $this call $~lib/set/Set#get:entriesOffset - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -8282,12 +8504,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -8369,7 +8597,10 @@ i32.add call $~lib/set/Set#set:entriesOffset local.get $4 - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -8403,10 +8634,12 @@ i32.store $0 end local.get $this + return ) (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/set/Set#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -8465,6 +8698,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) (local $value i64) @@ -8491,6 +8725,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/set/Set#delete (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) (local $entry i32) @@ -8558,6 +8793,7 @@ call $~lib/set/Set#rehash end i32.const 1 + return ) (func $std/set/testNumeric (type $none_=>_none) (local $set i32) @@ -8958,69 +9194,72 @@ i32.const 8 i32.eq drop - local.get $key - local.set $key|1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash64|inlined.1 (result i32) + local.get $key + local.set $key|1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash64|inlined.1 + end return ) (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -9085,6 +9324,7 @@ end end i32.const 0 + return ) (func $~lib/set/Set#has (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) local.get $this @@ -9094,6 +9334,7 @@ call $~lib/set/Set#find i32.const 0 i32.ne + return ) (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -9163,7 +9404,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -9174,7 +9418,10 @@ local.get $oldPtr local.get $this call $~lib/set/Set#get:entriesOffset - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -9220,12 +9467,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -9307,7 +9560,10 @@ i32.add call $~lib/set/Set#set:entriesOffset local.get $4 - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -9341,10 +9597,12 @@ i32.store $0 end local.get $this + return ) (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/set/Set#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -9403,6 +9661,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) (local $value i64) @@ -9429,6 +9688,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/set/Set#delete (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) (local $entry i32) @@ -9496,6 +9756,7 @@ call $~lib/set/Set#rehash end i32.const 1 + return ) (func $std/set/testNumeric (type $none_=>_none) (local $set i32) @@ -9893,56 +10154,59 @@ i32.const 4 i32.eq drop - local.get $key - i32.reinterpret_f32 - local.set $key|1 - i32.const 4 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.6 (result i32) + local.get $key + i32.reinterpret_f32 + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.6 + end return ) (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -10007,6 +10271,7 @@ end end i32.const 0 + return ) (func $~lib/set/Set#has (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) local.get $this @@ -10016,6 +10281,7 @@ call $~lib/set/Set#find i32.const 0 i32.ne + return ) (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -10085,7 +10351,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -10096,7 +10365,10 @@ local.get $oldPtr local.get $this call $~lib/set/Set#get:entriesOffset - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -10142,12 +10414,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -10229,7 +10507,10 @@ i32.add call $~lib/set/Set#set:entriesOffset local.get $4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -10263,10 +10544,12 @@ i32.store $0 end local.get $this + return ) (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/set/Set#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -10325,6 +10608,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) (local $value f32) @@ -10351,6 +10635,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/set/Set#delete (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) (local $entry i32) @@ -10418,6 +10703,7 @@ call $~lib/set/Set#rehash end i32.const 1 + return ) (func $std/set/testNumeric (type $none_=>_none) (local $set i32) @@ -10818,70 +11104,73 @@ i32.const 8 i32.eq drop - local.get $key - i64.reinterpret_f64 - local.set $key|1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash64|inlined.2 (result i32) + local.get $key + i64.reinterpret_f64 + local.set $key|1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash64|inlined.2 + end return ) (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -10946,6 +11235,7 @@ end end i32.const 0 + return ) (func $~lib/set/Set#has (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) local.get $this @@ -10955,6 +11245,7 @@ call $~lib/set/Set#find i32.const 0 i32.ne + return ) (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -11024,7 +11315,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -11035,7 +11329,10 @@ local.get $oldPtr local.get $this call $~lib/set/Set#get:entriesOffset - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -11081,12 +11378,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -11168,7 +11471,10 @@ i32.add call $~lib/set/Set#set:entriesOffset local.get $4 - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -11202,10 +11508,12 @@ i32.store $0 end local.get $this + return ) (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/set/Set#get:entriesCount + return ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this @@ -11264,6 +11572,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) (local $value f64) @@ -11290,6 +11599,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/set/Set#delete (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) (local $entry i32) @@ -11357,6 +11667,7 @@ call $~lib/set/Set#rehash end i32.const 1 + return ) (func $std/set/testNumeric (type $none_=>_none) (local $set i32) @@ -12438,7 +12749,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -12494,7 +12808,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -12557,7 +12874,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -12613,7 +12933,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -12676,7 +12999,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -12732,7 +13058,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -12795,7 +13124,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -12851,7 +13183,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -12914,7 +13249,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -12970,7 +13308,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -13033,7 +13374,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -13089,7 +13433,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -13152,7 +13499,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -13208,7 +13558,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.7 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -13271,7 +13624,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -13327,7 +13683,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.7 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -13390,7 +13749,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -13446,7 +13808,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -13509,7 +13874,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -13565,7 +13933,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.7 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -13627,6 +13998,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -13758,7 +14130,10 @@ if local.get $start local.get $i - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -13796,6 +14171,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -13927,7 +14303,10 @@ if local.get $start local.get $i - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -13965,6 +14344,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -14096,7 +14476,10 @@ if local.get $start local.get $i - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -14134,6 +14517,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -14265,7 +14649,10 @@ if local.get $start local.get $i - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -14303,6 +14690,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -14434,7 +14822,10 @@ if local.get $start local.get $i - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -14472,6 +14863,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -14603,7 +14995,10 @@ if local.get $start local.get $i - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -14641,6 +15036,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -14772,7 +15168,10 @@ if local.get $start local.get $i - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -14810,6 +15209,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -14941,7 +15341,10 @@ if local.get $start local.get $i - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -14979,6 +15382,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -15110,7 +15514,10 @@ if local.get $start local.get $i - i32.const 8 + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -15148,6 +15555,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -15279,7 +15687,10 @@ if local.get $start local.get $i - i32.const 16 + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $entry @@ -15317,5 +15728,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) ) diff --git a/tests/compiler/std/set.release.wat b/tests/compiler/std/set.release.wat index f1eb747466..c5e5edfc64 100644 --- a/tests/compiler/std/set.release.wat +++ b/tests/compiler/std/set.release.wat @@ -1605,23 +1605,23 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 @@ -2613,7 +2613,7 @@ i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 + local.tee $1 i32.store $0 offset=8 i32.const 0 local.set $0 @@ -2636,41 +2636,41 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.set $1 + local.set $3 local.get $2 i32.load $0 local.get $2 i32.load $0 offset=4 - local.get $1 + local.get $3 i32.const 16 i32.shr_u - local.get $1 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find10 - loop $while-continue|011 - local.get $1 + local.set $3 + block $__inlined_func$~lib/set/Set#find11 + loop $while-continue|012 + local.get $3 if - local.get $1 + local.get $3 i32.load $0 offset=4 local.tee $5 i32.const 1 @@ -2678,25 +2678,25 @@ if (result i32) i32.const 0 else - local.get $1 + local.get $3 i32.load8_u $0 local.get $4 i32.const 255 i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find10 + br_if $__inlined_func$~lib/set/Set#find11 local.get $5 i32.const -2 i32.and - local.set $1 - br $while-continue|011 + local.set $3 + br $while-continue|012 end end i32.const 0 - local.set $1 + local.set $3 end - local.get $1 + local.get $3 i32.eqz if i32.const 0 @@ -2706,7 +2706,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 local.get $7 local.get $0 call $~lib/array/Array#__get @@ -2718,7 +2718,7 @@ br $for-loop|2 end end - local.get $3 + local.get $1 i32.load $0 offset=20 local.get $2 i32.load $0 offset=20 @@ -2777,8 +2777,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find13 - loop $while-continue|014 + block $__inlined_func$~lib/set/Set#find14 + loop $while-continue|015 local.get $1 if local.get $1 @@ -2796,12 +2796,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find13 + br_if $__inlined_func$~lib/set/Set#find14 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|014 + br $while-continue|015 end end i32.const 0 @@ -2859,8 +2859,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find16 - loop $while-continue|017 + block $__inlined_func$~lib/set/Set#find17 + loop $while-continue|018 local.get $1 if local.get $1 @@ -2878,12 +2878,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find16 + br_if $__inlined_func$~lib/set/Set#find17 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|017 + br $while-continue|018 end end i32.const 0 @@ -2963,8 +2963,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find19 - loop $while-continue|020 + block $__inlined_func$~lib/set/Set#find20 + loop $while-continue|021 local.get $1 if local.get $1 @@ -2982,12 +2982,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find19 + br_if $__inlined_func$~lib/set/Set#find20 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|020 + br $while-continue|021 end end i32.const 0 @@ -3044,8 +3044,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find22 - loop $while-continue|023 + block $__inlined_func$~lib/set/Set#find23 + loop $while-continue|024 local.get $1 if local.get $1 @@ -3063,12 +3063,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find22 + br_if $__inlined_func$~lib/set/Set#find23 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|023 + br $while-continue|024 end end i32.const 0 @@ -3126,8 +3126,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find25 - loop $while-continue|026 + block $__inlined_func$~lib/set/Set#find26 + loop $while-continue|027 local.get $1 if local.get $1 @@ -3145,12 +3145,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find25 + br_if $__inlined_func$~lib/set/Set#find26 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|026 + br $while-continue|027 end end i32.const 0 @@ -3298,23 +3298,23 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 @@ -4221,7 +4221,7 @@ i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 + local.tee $1 i32.store $0 offset=8 i32.const 0 local.set $0 @@ -4245,41 +4245,41 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.set $1 + local.set $3 local.get $2 i32.load $0 local.get $2 i32.load $0 offset=4 - local.get $1 + local.get $3 i32.const 16 i32.shr_u - local.get $1 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find10 - loop $while-continue|011 - local.get $1 + local.set $3 + block $__inlined_func$~lib/set/Set#find11 + loop $while-continue|012 + local.get $3 if - local.get $1 + local.get $3 i32.load $0 offset=4 local.tee $5 i32.const 1 @@ -4287,25 +4287,25 @@ if (result i32) i32.const 0 else - local.get $1 + local.get $3 i32.load8_u $0 local.get $4 i32.const 255 i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find10 + br_if $__inlined_func$~lib/set/Set#find11 local.get $5 i32.const -2 i32.and - local.set $1 - br $while-continue|011 + local.set $3 + br $while-continue|012 end end i32.const 0 - local.set $1 + local.set $3 end - local.get $1 + local.get $3 i32.eqz if i32.const 0 @@ -4315,7 +4315,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 local.get $7 local.get $0 call $~lib/array/Array#__get @@ -4327,7 +4327,7 @@ br $for-loop|2 end end - local.get $3 + local.get $1 i32.load $0 offset=20 local.get $2 i32.load $0 offset=20 @@ -4387,8 +4387,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find13 - loop $while-continue|014 + block $__inlined_func$~lib/set/Set#find14 + loop $while-continue|015 local.get $1 if local.get $1 @@ -4406,12 +4406,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find13 + br_if $__inlined_func$~lib/set/Set#find14 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|014 + br $while-continue|015 end end i32.const 0 @@ -4470,8 +4470,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find16 - loop $while-continue|017 + block $__inlined_func$~lib/set/Set#find17 + loop $while-continue|018 local.get $1 if local.get $1 @@ -4489,12 +4489,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find16 + br_if $__inlined_func$~lib/set/Set#find17 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|017 + br $while-continue|018 end end i32.const 0 @@ -4575,8 +4575,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find19 - loop $while-continue|020 + block $__inlined_func$~lib/set/Set#find20 + loop $while-continue|021 local.get $1 if local.get $1 @@ -4594,12 +4594,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find19 + br_if $__inlined_func$~lib/set/Set#find20 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|020 + br $while-continue|021 end end i32.const 0 @@ -4657,8 +4657,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find22 - loop $while-continue|023 + block $__inlined_func$~lib/set/Set#find23 + loop $while-continue|024 local.get $1 if local.get $1 @@ -4676,12 +4676,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find22 + br_if $__inlined_func$~lib/set/Set#find23 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|023 + br $while-continue|024 end end i32.const 0 @@ -4740,8 +4740,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find25 - loop $while-continue|026 + block $__inlined_func$~lib/set/Set#find26 + loop $while-continue|027 local.get $1 if local.get $1 @@ -4759,12 +4759,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find25 + br_if $__inlined_func$~lib/set/Set#find26 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|026 + br $while-continue|027 end end i32.const 0 @@ -4913,23 +4913,23 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 @@ -5836,7 +5836,7 @@ i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 + local.tee $1 i32.store $0 offset=8 i32.const 0 local.set $0 @@ -5859,41 +5859,41 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.set $1 + local.set $3 local.get $2 i32.load $0 local.get $2 i32.load $0 offset=4 - local.get $1 + local.get $3 i32.const 16 i32.shr_u - local.get $1 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find10 - loop $while-continue|011 - local.get $1 + local.set $3 + block $__inlined_func$~lib/set/Set#find11 + loop $while-continue|012 + local.get $3 if - local.get $1 + local.get $3 i32.load $0 offset=4 local.tee $5 i32.const 1 @@ -5901,25 +5901,25 @@ if (result i32) i32.const 0 else - local.get $1 + local.get $3 i32.load16_u $0 local.get $4 i32.const 65535 i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find10 + br_if $__inlined_func$~lib/set/Set#find11 local.get $5 i32.const -2 i32.and - local.set $1 - br $while-continue|011 + local.set $3 + br $while-continue|012 end end i32.const 0 - local.set $1 + local.set $3 end - local.get $1 + local.get $3 i32.eqz if i32.const 0 @@ -5929,7 +5929,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 local.get $7 local.get $0 call $~lib/array/Array#__get @@ -5941,7 +5941,7 @@ br $for-loop|2 end end - local.get $3 + local.get $1 i32.load $0 offset=20 local.get $2 i32.load $0 offset=20 @@ -6000,8 +6000,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find13 - loop $while-continue|014 + block $__inlined_func$~lib/set/Set#find14 + loop $while-continue|015 local.get $1 if local.get $1 @@ -6019,12 +6019,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find13 + br_if $__inlined_func$~lib/set/Set#find14 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|014 + br $while-continue|015 end end i32.const 0 @@ -6082,8 +6082,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find16 - loop $while-continue|017 + block $__inlined_func$~lib/set/Set#find17 + loop $while-continue|018 local.get $1 if local.get $1 @@ -6101,12 +6101,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find16 + br_if $__inlined_func$~lib/set/Set#find17 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|017 + br $while-continue|018 end end i32.const 0 @@ -6186,8 +6186,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find19 - loop $while-continue|020 + block $__inlined_func$~lib/set/Set#find20 + loop $while-continue|021 local.get $1 if local.get $1 @@ -6205,12 +6205,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find19 + br_if $__inlined_func$~lib/set/Set#find20 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|020 + br $while-continue|021 end end i32.const 0 @@ -6267,8 +6267,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find22 - loop $while-continue|023 + block $__inlined_func$~lib/set/Set#find23 + loop $while-continue|024 local.get $1 if local.get $1 @@ -6286,12 +6286,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find22 + br_if $__inlined_func$~lib/set/Set#find23 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|023 + br $while-continue|024 end end i32.const 0 @@ -6349,8 +6349,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find25 - loop $while-continue|026 + block $__inlined_func$~lib/set/Set#find26 + loop $while-continue|027 local.get $1 if local.get $1 @@ -6368,12 +6368,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find25 + br_if $__inlined_func$~lib/set/Set#find26 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|026 + br $while-continue|027 end end i32.const 0 @@ -6521,23 +6521,23 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 @@ -7450,7 +7450,7 @@ i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 + local.tee $1 i32.store $0 offset=8 i32.const 0 local.set $0 @@ -7474,41 +7474,41 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.set $1 + local.set $3 local.get $2 i32.load $0 local.get $2 i32.load $0 offset=4 - local.get $1 + local.get $3 i32.const 16 i32.shr_u - local.get $1 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find10 - loop $while-continue|011 - local.get $1 + local.set $3 + block $__inlined_func$~lib/set/Set#find11 + loop $while-continue|012 + local.get $3 if - local.get $1 + local.get $3 i32.load $0 offset=4 local.tee $5 i32.const 1 @@ -7516,25 +7516,25 @@ if (result i32) i32.const 0 else - local.get $1 + local.get $3 i32.load16_u $0 local.get $4 i32.const 65535 i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find10 + br_if $__inlined_func$~lib/set/Set#find11 local.get $5 i32.const -2 i32.and - local.set $1 - br $while-continue|011 + local.set $3 + br $while-continue|012 end end i32.const 0 - local.set $1 + local.set $3 end - local.get $1 + local.get $3 i32.eqz if i32.const 0 @@ -7544,7 +7544,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 local.get $7 local.get $0 call $~lib/array/Array#__get @@ -7556,7 +7556,7 @@ br $for-loop|2 end end - local.get $3 + local.get $1 i32.load $0 offset=20 local.get $2 i32.load $0 offset=20 @@ -7616,8 +7616,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find13 - loop $while-continue|014 + block $__inlined_func$~lib/set/Set#find14 + loop $while-continue|015 local.get $1 if local.get $1 @@ -7635,12 +7635,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find13 + br_if $__inlined_func$~lib/set/Set#find14 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|014 + br $while-continue|015 end end i32.const 0 @@ -7699,8 +7699,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find16 - loop $while-continue|017 + block $__inlined_func$~lib/set/Set#find17 + loop $while-continue|018 local.get $1 if local.get $1 @@ -7718,12 +7718,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find16 + br_if $__inlined_func$~lib/set/Set#find17 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|017 + br $while-continue|018 end end i32.const 0 @@ -7804,8 +7804,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find19 - loop $while-continue|020 + block $__inlined_func$~lib/set/Set#find20 + loop $while-continue|021 local.get $1 if local.get $1 @@ -7823,12 +7823,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find19 + br_if $__inlined_func$~lib/set/Set#find20 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|020 + br $while-continue|021 end end i32.const 0 @@ -7886,8 +7886,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find22 - loop $while-continue|023 + block $__inlined_func$~lib/set/Set#find23 + loop $while-continue|024 local.get $1 if local.get $1 @@ -7905,12 +7905,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find22 + br_if $__inlined_func$~lib/set/Set#find23 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|023 + br $while-continue|024 end end i32.const 0 @@ -7969,8 +7969,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find25 - loop $while-continue|026 + block $__inlined_func$~lib/set/Set#find26 + loop $while-continue|027 local.get $1 if local.get $1 @@ -7988,12 +7988,12 @@ i32.and i32.eq end - br_if $__inlined_func$~lib/set/Set#find25 + br_if $__inlined_func$~lib/set/Set#find26 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|026 + br $while-continue|027 end end i32.const 0 @@ -8141,23 +8141,23 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 @@ -9046,7 +9046,7 @@ i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 + local.tee $1 i32.store $0 offset=8 i32.const 0 local.set $0 @@ -9068,41 +9068,41 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.set $1 + local.set $3 local.get $2 i32.load $0 local.get $2 i32.load $0 offset=4 - local.get $1 + local.get $3 i32.const 16 i32.shr_u - local.get $1 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find10 - loop $while-continue|011 - local.get $1 + local.set $3 + block $__inlined_func$~lib/set/Set#find11 + loop $while-continue|012 + local.get $3 if - local.get $1 + local.get $3 i32.load $0 offset=4 local.tee $5 i32.const 1 @@ -9110,23 +9110,23 @@ if (result i32) i32.const 0 else - local.get $1 + local.get $3 i32.load $0 local.get $4 i32.eq end - br_if $__inlined_func$~lib/set/Set#find10 + br_if $__inlined_func$~lib/set/Set#find11 local.get $5 i32.const -2 i32.and - local.set $1 - br $while-continue|011 + local.set $3 + br $while-continue|012 end end i32.const 0 - local.set $1 + local.set $3 end - local.get $1 + local.get $3 i32.eqz if i32.const 0 @@ -9136,7 +9136,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 local.get $7 local.get $0 call $~lib/array/Array#__get @@ -9148,7 +9148,7 @@ br $for-loop|2 end end - local.get $3 + local.get $1 i32.load $0 offset=20 local.get $2 i32.load $0 offset=20 @@ -9206,8 +9206,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find13 - loop $while-continue|014 + block $__inlined_func$~lib/set/Set#find14 + loop $while-continue|015 local.get $1 if local.get $1 @@ -9223,12 +9223,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/set/Set#find13 + br_if $__inlined_func$~lib/set/Set#find14 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|014 + br $while-continue|015 end end i32.const 0 @@ -9285,8 +9285,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find16 - loop $while-continue|017 + block $__inlined_func$~lib/set/Set#find17 + loop $while-continue|018 local.get $1 if local.get $1 @@ -9302,12 +9302,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/set/Set#find16 + br_if $__inlined_func$~lib/set/Set#find17 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|017 + br $while-continue|018 end end i32.const 0 @@ -9386,8 +9386,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find19 - loop $while-continue|020 + block $__inlined_func$~lib/set/Set#find20 + loop $while-continue|021 local.get $1 if local.get $1 @@ -9403,12 +9403,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/set/Set#find19 + br_if $__inlined_func$~lib/set/Set#find20 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|020 + br $while-continue|021 end end i32.const 0 @@ -9464,8 +9464,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find22 - loop $while-continue|023 + block $__inlined_func$~lib/set/Set#find23 + loop $while-continue|024 local.get $1 if local.get $1 @@ -9481,12 +9481,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/set/Set#find22 + br_if $__inlined_func$~lib/set/Set#find23 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|023 + br $while-continue|024 end end i32.const 0 @@ -9543,8 +9543,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find25 - loop $while-continue|026 + block $__inlined_func$~lib/set/Set#find26 + loop $while-continue|027 local.get $1 if local.get $1 @@ -9560,12 +9560,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/set/Set#find25 + br_if $__inlined_func$~lib/set/Set#find26 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|026 + br $while-continue|027 end end i32.const 0 @@ -9713,23 +9713,23 @@ i32.const 668265263 i32.mul local.tee $8 - local.get $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 - local.get $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 - local.get $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 @@ -10618,7 +10618,7 @@ i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 + local.tee $1 i32.store $0 offset=8 i32.const 0 local.set $0 @@ -10640,41 +10640,41 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $3 + local.get $3 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.set $1 + local.set $3 local.get $2 i32.load $0 local.get $2 i32.load $0 offset=4 - local.get $1 + local.get $3 i32.const 16 i32.shr_u - local.get $1 + local.get $3 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find10 - loop $while-continue|011 - local.get $1 + local.set $3 + block $__inlined_func$~lib/set/Set#find11 + loop $while-continue|012 + local.get $3 if - local.get $1 + local.get $3 i32.load $0 offset=4 local.tee $5 i32.const 1 @@ -10682,23 +10682,23 @@ if (result i32) i32.const 0 else - local.get $1 + local.get $3 i32.load $0 local.get $4 i32.eq end - br_if $__inlined_func$~lib/set/Set#find10 + br_if $__inlined_func$~lib/set/Set#find11 local.get $5 i32.const -2 i32.and - local.set $1 - br $while-continue|011 + local.set $3 + br $while-continue|012 end end i32.const 0 - local.set $1 + local.set $3 end - local.get $1 + local.get $3 i32.eqz if i32.const 0 @@ -10708,7 +10708,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 local.get $7 local.get $0 call $~lib/array/Array#__get @@ -10720,7 +10720,7 @@ br $for-loop|2 end end - local.get $3 + local.get $1 i32.load $0 offset=20 local.get $2 i32.load $0 offset=20 @@ -10778,8 +10778,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find13 - loop $while-continue|014 + block $__inlined_func$~lib/set/Set#find14 + loop $while-continue|015 local.get $1 if local.get $1 @@ -10795,12 +10795,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/set/Set#find13 + br_if $__inlined_func$~lib/set/Set#find14 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|014 + br $while-continue|015 end end i32.const 0 @@ -10857,8 +10857,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find16 - loop $while-continue|017 + block $__inlined_func$~lib/set/Set#find17 + loop $while-continue|018 local.get $1 if local.get $1 @@ -10874,12 +10874,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/set/Set#find16 + br_if $__inlined_func$~lib/set/Set#find17 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|017 + br $while-continue|018 end end i32.const 0 @@ -10958,8 +10958,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find19 - loop $while-continue|020 + block $__inlined_func$~lib/set/Set#find20 + loop $while-continue|021 local.get $1 if local.get $1 @@ -10975,12 +10975,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/set/Set#find19 + br_if $__inlined_func$~lib/set/Set#find20 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|020 + br $while-continue|021 end end i32.const 0 @@ -11036,8 +11036,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find22 - loop $while-continue|023 + block $__inlined_func$~lib/set/Set#find23 + loop $while-continue|024 local.get $1 if local.get $1 @@ -11053,12 +11053,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/set/Set#find22 + br_if $__inlined_func$~lib/set/Set#find23 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|023 + br $while-continue|024 end end i32.const 0 @@ -11115,8 +11115,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find25 - loop $while-continue|026 + block $__inlined_func$~lib/set/Set#find26 + loop $while-continue|027 local.get $1 if local.get $1 @@ -11132,12 +11132,12 @@ local.get $0 i32.eq end - br_if $__inlined_func$~lib/set/Set#find25 + br_if $__inlined_func$~lib/set/Set#find26 local.get $3 i32.const -2 i32.and local.set $1 - br $while-continue|026 + br $while-continue|027 end end i32.const 0 @@ -11232,7 +11232,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -11240,7 +11240,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $7 i32.const 4 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor @@ -11248,13 +11248,13 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $8 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 4 i32.shl i32.add - local.set $4 + local.set $8 local.get $3 local.set $2 loop $while-continue|0 @@ -11262,19 +11262,19 @@ local.get $8 i32.ne if - local.get $8 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $8 + local.get $4 i64.load $0 local.tee $6 i64.store $0 local.get $2 - local.get $7 + local.get $5 local.get $1 local.get $6 i32.wrap_i64 @@ -11298,23 +11298,23 @@ i32.const 668265263 i32.mul local.tee $9 + local.get $9 i32.const 15 i32.shr_u - local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 + local.get $9 i32.const 13 i32.shr_u - local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 + local.get $9 i32.const 16 i32.shr_u - local.get $9 i32.xor i32.and i32.const 2 @@ -11331,20 +11331,20 @@ i32.add local.set $2 end - local.get $8 + local.get $4 i32.const 16 i32.add - local.set $8 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $7 + local.get $5 i32.store $0 - local.get $7 + local.get $5 if local.get $0 - local.get $7 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -11360,7 +11360,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $5 + local.get $7 i32.store $0 offset=12 local.get $0 local.get $0 @@ -11744,23 +11744,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -11834,23 +11834,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -11948,23 +11948,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -12039,23 +12039,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -12287,12 +12287,7 @@ local.get $8 local.get $0 call $~lib/array/Array#__get - local.set $1 - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 + local.tee $1 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -12314,20 +12309,25 @@ i32.const 668265263 i32.mul local.tee $2 + local.get $2 i32.const 15 i32.shr_u - local.get $2 i32.xor i32.const -2048144777 i32.mul local.tee $2 + local.get $2 i32.const 13 i32.shr_u - local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.set $2 + local.get $3 + i32.load $0 + local.get $3 + i32.load $0 offset=4 + local.get $2 i32.const 16 i32.shr_u local.get $2 @@ -12434,23 +12434,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -12525,23 +12525,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -12638,23 +12638,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -12728,23 +12728,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -12819,23 +12819,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -12960,7 +12960,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -12968,7 +12968,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $7 i32.const 4 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor @@ -12976,13 +12976,13 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $8 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 4 i32.shl i32.add - local.set $4 + local.set $8 local.get $3 local.set $2 loop $while-continue|0 @@ -12990,19 +12990,19 @@ local.get $8 i32.ne if - local.get $8 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $8 + local.get $4 i64.load $0 local.tee $6 i64.store $0 local.get $2 - local.get $7 + local.get $5 local.get $1 local.get $6 i32.wrap_i64 @@ -13026,23 +13026,23 @@ i32.const 668265263 i32.mul local.tee $9 + local.get $9 i32.const 15 i32.shr_u - local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 + local.get $9 i32.const 13 i32.shr_u - local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 + local.get $9 i32.const 16 i32.shr_u - local.get $9 i32.xor i32.and i32.const 2 @@ -13059,20 +13059,20 @@ i32.add local.set $2 end - local.get $8 + local.get $4 i32.const 16 i32.add - local.set $8 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $7 + local.get $5 i32.store $0 - local.get $7 + local.get $5 if local.get $0 - local.get $7 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -13088,7 +13088,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $5 + local.get $7 i32.store $0 offset=12 local.get $0 local.get $0 @@ -13472,23 +13472,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -13562,23 +13562,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -13676,23 +13676,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -13767,23 +13767,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -14015,12 +14015,7 @@ local.get $8 local.get $0 call $~lib/array/Array#__get - local.set $1 - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 + local.tee $1 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -14042,20 +14037,25 @@ i32.const 668265263 i32.mul local.tee $2 + local.get $2 i32.const 15 i32.shr_u - local.get $2 i32.xor i32.const -2048144777 i32.mul local.tee $2 + local.get $2 i32.const 13 i32.shr_u - local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.set $2 + local.get $3 + i32.load $0 + local.get $3 + i32.load $0 offset=4 + local.get $2 i32.const 16 i32.shr_u local.get $2 @@ -14162,23 +14162,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -14253,23 +14253,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -14366,23 +14366,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -14456,23 +14456,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -14547,23 +14547,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -14655,11 +14655,11 @@ (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 f32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 f32) (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -14688,7 +14688,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -14704,35 +14704,35 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $8 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 3 i32.shl i32.add - local.set $5 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 - local.get $5 - local.get $8 + local.get $4 + local.get $7 i32.ne if - local.get $8 + local.get $4 i32.load $0 offset=4 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $8 + local.get $4 f32.load $0 - local.tee $4 + local.tee $8 f32.store $0 local.get $2 - local.get $7 + local.get $5 local.get $1 - local.get $4 + local.get $8 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -14743,23 +14743,23 @@ i32.const 668265263 i32.mul local.tee $9 - local.get $9 i32.const 15 i32.shr_u + local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 - local.get $9 i32.const 13 i32.shr_u + local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 - local.get $9 i32.const 16 i32.shr_u + local.get $9 i32.xor i32.and i32.const 2 @@ -14776,20 +14776,20 @@ i32.add local.set $2 end - local.get $8 + local.get $4 i32.const 8 i32.add - local.set $8 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $7 + local.get $5 i32.store $0 - local.get $7 + local.get $5 if local.get $0 - local.get $7 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -15705,8 +15705,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find10 - loop $while-continue|011 + block $__inlined_func$~lib/set/Set#find11 + loop $while-continue|012 local.get $1 if local.get $1 @@ -15722,12 +15722,12 @@ local.get $2 f32.eq end - br_if $__inlined_func$~lib/set/Set#find10 + br_if $__inlined_func$~lib/set/Set#find11 local.get $5 i32.const -2 i32.and local.set $1 - br $while-continue|011 + br $while-continue|012 end end i32.const 0 @@ -15814,8 +15814,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find13 - loop $while-continue|014 + block $__inlined_func$~lib/set/Set#find14 + loop $while-continue|015 local.get $1 if local.get $1 @@ -15831,12 +15831,12 @@ local.get $2 f32.eq end - br_if $__inlined_func$~lib/set/Set#find13 + br_if $__inlined_func$~lib/set/Set#find14 local.get $0 i32.const -2 i32.and local.set $1 - br $while-continue|014 + br $while-continue|015 end end i32.const 0 @@ -15894,8 +15894,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find16 - loop $while-continue|017 + block $__inlined_func$~lib/set/Set#find17 + loop $while-continue|018 local.get $1 if local.get $1 @@ -15911,12 +15911,12 @@ local.get $2 f32.eq end - br_if $__inlined_func$~lib/set/Set#find16 + br_if $__inlined_func$~lib/set/Set#find17 local.get $0 i32.const -2 i32.and local.set $1 - br $while-continue|017 + br $while-continue|018 end end i32.const 0 @@ -15996,8 +15996,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find19 - loop $while-continue|020 + block $__inlined_func$~lib/set/Set#find20 + loop $while-continue|021 local.get $1 if local.get $1 @@ -16013,12 +16013,12 @@ local.get $2 f32.eq end - br_if $__inlined_func$~lib/set/Set#find19 + br_if $__inlined_func$~lib/set/Set#find20 local.get $0 i32.const -2 i32.and local.set $1 - br $while-continue|020 + br $while-continue|021 end end i32.const 0 @@ -16075,8 +16075,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find22 - loop $while-continue|023 + block $__inlined_func$~lib/set/Set#find23 + loop $while-continue|024 local.get $1 if local.get $1 @@ -16092,12 +16092,12 @@ local.get $2 f32.eq end - br_if $__inlined_func$~lib/set/Set#find22 + br_if $__inlined_func$~lib/set/Set#find23 local.get $0 i32.const -2 i32.and local.set $1 - br $while-continue|023 + br $while-continue|024 end end i32.const 0 @@ -16155,8 +16155,8 @@ i32.add i32.load $0 local.set $1 - block $__inlined_func$~lib/set/Set#find25 - loop $while-continue|026 + block $__inlined_func$~lib/set/Set#find26 + loop $while-continue|027 local.get $1 if local.get $1 @@ -16172,12 +16172,12 @@ local.get $2 f32.eq end - br_if $__inlined_func$~lib/set/Set#find25 + br_if $__inlined_func$~lib/set/Set#find26 local.get $0 i32.const -2 i32.and local.set $1 - br $while-continue|026 + br $while-continue|027 end end i32.const 0 @@ -16239,12 +16239,12 @@ (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i64) - (local $5 f64) + (local $4 i32) + (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) + (local $8 f64) + (local $9 i64) (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -16273,7 +16273,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 + local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -16281,7 +16281,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $7 + local.tee $6 i32.const 4 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor @@ -16289,37 +16289,37 @@ i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 - local.tee $9 + local.tee $4 local.get $0 i32.load $0 offset=16 i32.const 4 i32.shl i32.add - local.set $6 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 - local.get $6 - local.get $9 + local.get $4 + local.get $7 i32.ne if - local.get $9 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $9 + local.get $4 f64.load $0 - local.tee $5 + local.tee $8 f64.store $0 local.get $2 - local.get $8 - local.get $1 local.get $5 + local.get $1 + local.get $8 i64.reinterpret_f64 - local.tee $4 + local.tee $9 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -16329,7 +16329,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $4 + local.get $9 i64.const 32 i64.shr_u i32.wrap_i64 @@ -16341,23 +16341,23 @@ i32.const 668265263 i32.mul local.tee $10 + local.get $10 i32.const 15 i32.shr_u - local.get $10 i32.xor i32.const -2048144777 i32.mul local.tee $10 + local.get $10 i32.const 13 i32.shr_u - local.get $10 i32.xor i32.const -1028477379 i32.mul local.tee $10 + local.get $10 i32.const 16 i32.shr_u - local.get $10 i32.xor i32.and i32.const 2 @@ -16374,20 +16374,20 @@ i32.add local.set $2 end - local.get $9 + local.get $4 i32.const 16 i32.add - local.set $9 + local.set $4 br $while-continue|0 end end local.get $0 - local.get $8 + local.get $5 i32.store $0 - local.get $8 + local.get $5 if local.get $0 - local.get $8 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -16403,7 +16403,7 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 - local.get $7 + local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 @@ -16733,8 +16733,8 @@ ) (func $std/set/testNumeric (type $none_=>_none) (local $0 i32) - (local $1 i32) - (local $2 f64) + (local $1 f64) + (local $2 i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -16764,7 +16764,7 @@ local.tee $3 i32.store $0 loop $for-loop|0 - local.get $2 + local.get $1 f64.const 100 f64.lt if @@ -16772,7 +16772,7 @@ i32.load $0 local.get $3 i32.load $0 offset=4 - local.get $2 + local.get $1 i64.reinterpret_f64 local.tee $4 i32.wrap_i64 @@ -16796,23 +16796,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -16832,7 +16832,7 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $1 local.get $0 f64.load $0 f64.eq @@ -16858,13 +16858,13 @@ unreachable end local.get $3 - local.get $2 + local.get $1 call $~lib/set/Set#add local.get $3 i32.load $0 local.get $3 i32.load $0 offset=4 - local.get $2 + local.get $1 i64.reinterpret_f64 local.tee $4 i32.wrap_i64 @@ -16888,23 +16888,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -16924,7 +16924,7 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $1 local.get $0 f64.load $0 f64.eq @@ -16950,10 +16950,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 f64.const 1 f64.add - local.set $2 + local.set $1 br $for-loop|0 end end @@ -16970,9 +16970,9 @@ unreachable end f64.const 50 - local.set $2 + local.set $1 loop $for-loop|1 - local.get $2 + local.get $1 f64.const 100 f64.lt if @@ -16980,7 +16980,7 @@ i32.load $0 local.get $3 i32.load $0 offset=4 - local.get $2 + local.get $1 i64.reinterpret_f64 local.tee $4 i32.wrap_i64 @@ -17004,23 +17004,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -17040,7 +17040,7 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $1 local.get $0 f64.load $0 f64.eq @@ -17067,13 +17067,13 @@ unreachable end local.get $3 - local.get $2 + local.get $1 call $~lib/set/Set#add local.get $3 i32.load $0 local.get $3 i32.load $0 offset=4 - local.get $2 + local.get $1 i64.reinterpret_f64 local.tee $4 i32.wrap_i64 @@ -17097,23 +17097,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -17133,7 +17133,7 @@ if (result i32) i32.const 0 else - local.get $2 + local.get $1 local.get $0 f64.load $0 f64.eq @@ -17159,10 +17159,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 f64.const 1 f64.add - local.set $2 + local.set $1 br $for-loop|1 end end @@ -17280,12 +17280,12 @@ i32.const 0 local.set $0 loop $for-loop|03 - local.get $1 + local.get $2 local.get $5 i32.lt_s if local.get $8 - local.get $1 + local.get $2 i32.const 4 i32.shl i32.add @@ -17309,10 +17309,10 @@ i32.add local.set $0 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|03 end end @@ -17345,12 +17345,7 @@ local.get $9 local.get $0 call $~lib/array/Array#__get - local.set $2 - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $2 + local.tee $1 i64.reinterpret_f64 local.tee $4 i32.wrap_i64 @@ -17373,36 +17368,41 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 + local.tee $2 + local.get $2 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.const -2048144777 i32.mul - local.tee $1 + local.tee $2 + local.get $2 i32.const 13 i32.shr_u - local.get $1 i32.xor i32.const -1028477379 i32.mul - local.tee $1 + local.set $2 + local.get $3 + i32.load $0 + local.get $3 + i32.load $0 offset=4 + local.get $2 i32.const 16 i32.shr_u - local.get $1 + local.get $2 i32.xor i32.and i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $2 block $__inlined_func$~lib/set/Set#find29 loop $while-continue|033 - local.get $1 + local.get $2 if - local.get $1 + local.get $2 i32.load $0 offset=8 local.tee $6 i32.const 1 @@ -17410,8 +17410,8 @@ if (result i32) i32.const 0 else - local.get $2 local.get $1 + local.get $2 f64.load $0 f64.eq end @@ -17419,14 +17419,14 @@ local.get $6 i32.const -2 i32.and - local.set $1 + local.set $2 br $while-continue|033 end end i32.const 0 - local.set $1 + local.set $2 end - local.get $1 + local.get $2 i32.eqz if i32.const 0 @@ -17462,9 +17462,9 @@ unreachable end f64.const 0 - local.set $2 + local.set $1 loop $for-loop|3 - local.get $2 + local.get $1 f64.const 50 f64.lt if @@ -17472,7 +17472,7 @@ i32.load $0 local.get $3 i32.load $0 offset=4 - local.get $2 + local.get $1 i64.reinterpret_f64 local.tee $4 i32.wrap_i64 @@ -17496,23 +17496,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -17526,19 +17526,19 @@ if local.get $0 i32.load $0 offset=8 - local.tee $1 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $1 local.get $0 f64.load $0 f64.eq end br_if $__inlined_func$~lib/set/Set#find40 - local.get $1 + local.get $2 i32.const -2 i32.and local.set $0 @@ -17559,13 +17559,13 @@ unreachable end local.get $3 - local.get $2 + local.get $1 call $~lib/set/Set#delete local.get $3 i32.load $0 local.get $3 i32.load $0 offset=4 - local.get $2 + local.get $1 i64.reinterpret_f64 local.tee $4 i32.wrap_i64 @@ -17589,23 +17589,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -17619,19 +17619,19 @@ if local.get $0 i32.load $0 offset=8 - local.tee $1 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $1 local.get $0 f64.load $0 f64.eq end br_if $__inlined_func$~lib/set/Set#find47 - local.get $1 + local.get $2 i32.const -2 i32.and local.set $0 @@ -17650,10 +17650,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 f64.const 1 f64.add - local.set $2 + local.set $1 br $for-loop|3 end end @@ -17670,9 +17670,9 @@ unreachable end f64.const 0 - local.set $2 + local.set $1 loop $for-loop|4 - local.get $2 + local.get $1 f64.const 50 f64.lt if @@ -17680,7 +17680,7 @@ i32.load $0 local.get $3 i32.load $0 offset=4 - local.get $2 + local.get $1 i64.reinterpret_f64 local.tee $4 i32.wrap_i64 @@ -17704,23 +17704,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -17734,19 +17734,19 @@ if local.get $0 i32.load $0 offset=8 - local.tee $1 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $1 local.get $0 f64.load $0 f64.eq end br_if $__inlined_func$~lib/set/Set#find56 - local.get $1 + local.get $2 i32.const -2 i32.and local.set $0 @@ -17766,13 +17766,13 @@ unreachable end local.get $3 - local.get $2 + local.get $1 call $~lib/set/Set#add local.get $3 i32.load $0 local.get $3 i32.load $0 offset=4 - local.get $2 + local.get $1 i64.reinterpret_f64 local.tee $4 i32.wrap_i64 @@ -17796,23 +17796,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -17826,19 +17826,19 @@ if local.get $0 i32.load $0 offset=8 - local.tee $1 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $1 local.get $0 f64.load $0 f64.eq end br_if $__inlined_func$~lib/set/Set#find63 - local.get $1 + local.get $2 i32.const -2 i32.and local.set $0 @@ -17859,13 +17859,13 @@ unreachable end local.get $3 - local.get $2 + local.get $1 call $~lib/set/Set#delete local.get $3 i32.load $0 local.get $3 i32.load $0 offset=4 - local.get $2 + local.get $1 i64.reinterpret_f64 local.tee $4 i32.wrap_i64 @@ -17889,23 +17889,23 @@ i32.const 668265263 i32.mul local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $0 i32.xor i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor i32.and i32.const 2 @@ -17919,19 +17919,19 @@ if local.get $0 i32.load $0 offset=8 - local.tee $1 + local.tee $2 i32.const 1 i32.and if (result i32) i32.const 0 else - local.get $2 + local.get $1 local.get $0 f64.load $0 f64.eq end br_if $__inlined_func$~lib/set/Set#find70 - local.get $1 + local.get $2 i32.const -2 i32.and local.set $0 @@ -17950,10 +17950,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 f64.const 1 f64.add - local.set $2 + local.set $1 br $for-loop|4 end end diff --git a/tests/compiler/std/static-array.debug.wat b/tests/compiler/std/static-array.debug.wat index 47c18ef418..238b56b770 100644 --- a/tests/compiler/std/static-array.debug.wat +++ b/tests/compiler/std/static-array.debug.wat @@ -70,6 +70,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -100,6 +101,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -140,6 +142,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -152,12 +155,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -311,6 +316,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -330,6 +336,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -443,6 +450,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -618,22 +626,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -658,16 +669,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -763,18 +777,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -798,18 +815,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -819,12 +839,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -972,22 +995,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1032,16 +1058,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1096,10 +1125,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1215,6 +1247,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1397,6 +1430,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1631,6 +1665,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1709,6 +1744,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1724,6 +1760,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1814,16 +1851,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1856,16 +1896,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1879,46 +1922,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1955,10 +2005,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2078,30 +2131,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2172,6 +2231,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2184,6 +2244,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2241,6 +2302,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2290,6 +2352,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2514,6 +2577,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2544,6 +2608,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this @@ -2604,6 +2669,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2634,6 +2700,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this @@ -2694,6 +2761,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2724,6 +2792,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this diff --git a/tests/compiler/std/staticarray.debug.wat b/tests/compiler/std/staticarray.debug.wat index dfee104401..e91d6d4cde 100644 --- a/tests/compiler/std/staticarray.debug.wat +++ b/tests/compiler/std/staticarray.debug.wat @@ -127,6 +127,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 2 i32.shr_u + return ) (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -152,6 +153,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/staticarray/StaticArray#__uset (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $this @@ -204,6 +206,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -216,12 +219,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -379,6 +384,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -398,6 +404,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -515,6 +522,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -690,22 +698,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -730,16 +741,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -835,18 +849,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -870,18 +887,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -891,12 +911,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1044,22 +1067,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1104,16 +1130,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1168,10 +1197,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1287,6 +1319,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1469,6 +1502,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1703,6 +1737,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1781,6 +1816,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1796,6 +1832,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1886,16 +1923,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1928,16 +1968,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1951,46 +1994,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2027,10 +2077,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2150,30 +2203,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2244,6 +2303,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2256,6 +2316,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2318,6 +2379,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/__newBuffer (type $i32_i32_i32_=>_i32) (param $size i32) (param $id i32) (param $data i32) (result i32) (local $buffer i32) @@ -2333,6 +2395,7 @@ memory.copy $0 $0 end local.get $buffer + return ) (func $std/staticarray/test (type $none_=>_i32) (result i32) (local $0 i32) @@ -2340,6 +2403,7 @@ i32.const 4 i32.const 288 call $~lib/rt/__newBuffer + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2431,6 +2495,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2461,6 +2526,7 @@ i32.const 0 drop local.get $value + return ) (func $~lib/staticarray/StaticArray<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2469,6 +2535,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 2 i32.shr_u + return ) (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) block $2of2 @@ -2498,6 +2565,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2601,6 +2669,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2643,6 +2712,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/array/Array<~lib/string/String>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2651,6 +2721,7 @@ (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array<~lib/string/String>#get:length_ + return ) (func $~lib/array/Array<~lib/string/String>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2674,6 +2745,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 3 i32.shr_u + return ) (func $~lib/staticarray/StaticArray#includes (type $i32_f64_i32_=>_i32) (param $this i32) (param $value f64) (param $fromIndex i32) (result i32) (local $length i32) @@ -2762,6 +2834,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 2 i32.shr_u + return ) (func $~lib/staticarray/StaticArray#includes (type $i32_f32_i32_=>_i32) (param $this i32) (param $value f32) (param $fromIndex i32) (result i32) (local $length i32) @@ -2905,6 +2978,7 @@ end end i32.const -1 + return ) (func $~lib/staticarray/StaticArray#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) (local $length i32) @@ -2962,6 +3036,7 @@ end end i32.const -1 + return ) (func $~lib/staticarray/StaticArray#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) block $1of1 @@ -3130,6 +3205,7 @@ local.get $end call $~lib/util/bytes/FILL local.get $this + return ) (func $~lib/staticarray/StaticArray#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) block $2of2 @@ -3232,6 +3308,7 @@ call $~lib/staticarray/StaticArray#get:length call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/staticarray/StaticArray#copyWithin (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) (local $ptr i32) @@ -3373,6 +3450,7 @@ i32.shl memory.copy $0 $0 local.get $this + return ) (func $~lib/staticarray/StaticArray#copyWithin@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) block $1of1 @@ -3507,6 +3585,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) (local $oldCapacity i32) @@ -3638,6 +3717,7 @@ local.get $len call $~lib/array/Array#set:length_ local.get $len + return ) (func $start:std/staticarray~anonymous|3 (type $i32_i32_i32_i32_=>_i32) (param $x i32) (param $y i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $x @@ -3683,6 +3763,7 @@ end end local.get $acc + return ) (func $start:std/staticarray~anonymous|4 (type $i32_i32_i32_i32_=>_i32) (param $x i32) (param $y i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $x @@ -3727,6 +3808,7 @@ end end local.get $acc + return ) (func $start:std/staticarray~anonymous|5 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $x @@ -3771,6 +3853,7 @@ end end i32.const 0 + return ) (func $start:std/staticarray~anonymous|6 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $x @@ -3821,6 +3904,7 @@ end end i32.const 1 + return ) (func $start:std/staticarray~anonymous|8 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $x @@ -3870,6 +3954,7 @@ end end i32.const -1 + return ) (func $start:std/staticarray~anonymous|10 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $x @@ -3918,6 +4003,7 @@ end end i32.const -1 + return ) (func $start:std/staticarray~anonymous|12 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $x @@ -4258,6 +4344,7 @@ end end local.get $j + return ) (func $~lib/util/sort/nodePower (type $i32_i32_i32_i32_i32_=>_i32) (param $left i32) (param $right i32) (param $startA i32) (param $startB i32) (param $endB i32) (result i32) (local $n i64) @@ -4308,6 +4395,7 @@ i64.xor i32.wrap_i64 i32.clz + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -4601,12 +4689,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.0 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.0 + end i32.const 2 i32.add local.set $lgPlus2 @@ -4865,6 +4956,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -5432,6 +5524,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 + return ) (func $~lib/staticarray/StaticArray<~lib/string/String>#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -5457,6 +5550,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $start:std/staticarray (type $none_=>_none) (local $0 i32) @@ -7570,6 +7664,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) (local $bufferSize i32) @@ -7622,6 +7717,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $~lib/staticarray/StaticArray.fromArray (type $i32_=>_i32) (param $source i32) (result i32) (local $length i32) @@ -7663,6 +7759,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) (local $sourceLen i32) @@ -7750,6 +7847,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $length i32) @@ -7903,6 +8001,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $20 + return ) (func $~lib/staticarray/StaticArray<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -7958,6 +8057,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) (local $sourceLen i32) @@ -8102,6 +8202,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $15 + return ) (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -8311,6 +8412,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $13 + return ) (func $~lib/staticarray/StaticArray#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $len i32) @@ -8385,6 +8487,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $~lib/staticarray/StaticArray#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $result i32) @@ -8453,6 +8556,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 + return ) (func $~lib/staticarray/StaticArray#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) (local $2 i32) diff --git a/tests/compiler/std/staticarray.release.wat b/tests/compiler/std/staticarray.release.wat index a72be597e6..a7b6788a3e 100644 --- a/tests/compiler/std/staticarray.release.wat +++ b/tests/compiler/std/staticarray.release.wat @@ -1986,12 +1986,13 @@ (local $6 i32) (local $7 i32) local.get $0 + local.tee $4 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $4 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -2008,17 +2009,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $0 i64.const 0 i64.store $0 - local.get $5 + local.get $0 i32.const 0 i32.store $0 offset=8 block $__inlined_func$~lib/util/string/joinStringArray - local.get $4 + local.get $6 i32.const 1 i32.sub - local.tee $5 + local.tee $7 i32.const 0 i32.lt_s if @@ -2027,15 +2028,15 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 2768 - local.set $4 + local.set $0 br $__inlined_func$~lib/util/string/joinStringArray end - local.get $5 + local.get $7 i32.eqz if global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $0 + local.get $4 i32.load $0 local.tee $0 i32.store $0 @@ -2047,27 +2048,29 @@ i32.const 2768 local.get $0 select - local.set $4 + local.set $0 br $__inlined_func$~lib/util/string/joinStringArray end + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $3 - local.get $4 + local.get $0 + local.get $6 i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $4 local.get $0 - local.get $3 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $6 + local.tee $5 i32.store $0 offset=4 - local.get $6 + local.get $5 if local.get $2 - local.get $6 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -2076,15 +2079,13 @@ i32.add local.set $2 end - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|0 end end - i32.const 0 - local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 local.get $1 @@ -2094,57 +2095,57 @@ i32.const 1 i32.shr_u local.tee $6 - local.get $5 + local.get $7 i32.mul i32.add i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $0 i32.store $0 offset=8 i32.const 0 local.set $2 loop $for-loop|1 local.get $2 - local.get $5 + local.get $7 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $4 local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $7 + local.tee $5 i32.store $0 offset=4 - local.get $7 + local.get $5 if - local.get $4 + local.get $0 local.get $3 i32.const 1 i32.shl i32.add - local.get $7 - local.get $7 + local.get $5 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 1 i32.shr_u - local.tee $7 + local.tee $5 i32.const 1 i32.shl memory.copy $0 $0 local.get $3 - local.get $7 + local.get $5 i32.add local.set $3 end local.get $6 if - local.get $4 + local.get $0 local.get $3 i32.const 1 i32.shl @@ -2167,23 +2168,23 @@ end end global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $5 + local.get $4 + local.get $7 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $0 + local.tee $1 i32.store $0 offset=4 - local.get $0 + local.get $1 if - local.get $4 + local.get $0 local.get $3 i32.const 1 i32.shl i32.add - local.get $0 - local.get $0 + local.get $1 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -2196,7 +2197,7 @@ i32.add global.set $~lib/memory/__stack_pointer end - local.get $4 + local.get $0 ) (func $start:std/staticarray~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 @@ -3074,17 +3075,17 @@ i32.sub i32.load $0 offset=16 i32.add - local.set $2 + local.set $1 loop $while-continue|0 local.get $0 - local.get $2 + local.get $1 i32.lt_u if local.get $0 i32.load $0 - local.tee $1 + local.tee $2 if - local.get $1 + local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__visit end local.get $0 @@ -3144,17 +3145,17 @@ i32.const 2 i32.shl i32.add - local.set $3 + local.set $2 loop $while-continue|0 local.get $1 - local.get $3 + local.get $2 i32.lt_u if local.get $1 i32.load $0 - local.tee $2 + local.tee $3 if - local.get $2 + local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__visit end local.get $1 @@ -3164,7 +3165,14 @@ br $while-continue|0 end end - br $folding-inner1 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return end return end @@ -3196,16 +3204,16 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 f32) - (local $4 f64) + (local $3 i32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i32) - (local $12 i32) + (local $11 f32) + (local $12 f64) (local $13 i32) global.get $~lib/memory/__stack_pointer i32.const 96 @@ -3217,11 +3225,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 i32.const 0 i32.const 96 memory.fill $0 - local.get $0 + local.get $2 i32.const 1056 i32.store $0 i32.const 1056 @@ -3378,17 +3386,17 @@ i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.const 1312 i32.const 12 memory.copy $0 $0 - local.get $0 + local.get $2 global.set $std/staticarray/arr3 global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $0 + local.tee $2 i32.store $0 - local.get $0 + local.get $2 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -3403,9 +3411,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $0 + local.tee $2 i32.store $0 - local.get $0 + local.get $2 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -3420,9 +3428,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $0 + local.tee $2 i32.store $0 - local.get $0 + local.get $2 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 7 @@ -3437,9 +3445,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $0 + local.tee $2 i32.store $0 - local.get $0 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3457,16 +3465,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $0 + local.tee $2 i32.store $0 - local.get $0 + local.get $2 i32.const 8 call $~lib/staticarray/StaticArray#__set global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $0 + local.tee $2 i32.store $0 - local.get $0 + local.get $2 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 8 @@ -3482,17 +3490,17 @@ i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.const 1312 i32.const 12 memory.copy $0 $0 - local.get $0 + local.get $2 global.set $std/staticarray/arr3 global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $0 + local.tee $2 i32.store $0 - local.get $0 + local.get $2 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -3509,24 +3517,24 @@ i32.const 8 i32.const 6 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store $0 offset=4 - local.get $0 + local.get $2 i32.const 0 call $std/staticarray/Ref#constructor call $~lib/staticarray/StaticArray#__uset - local.get $0 + local.get $2 i32.const 1 call $std/staticarray/Ref#constructor call $~lib/staticarray/StaticArray#__uset - local.get $0 + local.get $2 global.set $std/staticarray/arr4 i32.const 0 global.set $std/staticarray/arr3 i32.const 0 global.set $std/staticarray/arr4 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3535,23 +3543,23 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $2 i32.const 0 i32.store $0 - local.get $6 + local.get $2 i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $2 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $6 + local.get $3 + local.get $2 i32.store $0 offset=8 - local.get $6 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3568,8 +3576,8 @@ unreachable end loop $for-loop|0 - local.get $1 - local.get $6 + local.get $0 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3577,8 +3585,8 @@ i32.shr_u i32.lt_s if - local.get $6 - local.get $1 + local.get $2 + local.get $0 call $~lib/staticarray/StaticArray#__get if i32.const 0 @@ -3588,10 +3596,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 @@ -3600,16 +3608,16 @@ i32.const 7 i32.const 1728 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 call $~lib/staticarray/StaticArray.fromArray - local.tee $6 + local.tee $0 i32.store $0 offset=16 - local.get $0 + local.get $2 i32.load $0 offset=12 - local.get $6 + local.get $0 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3624,18 +3632,16 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $1 loop $for-loop|1 local.get $1 - local.get $0 + local.get $2 i32.load $0 offset=12 i32.lt_s if - local.get $6 + local.get $0 local.get $1 call $~lib/staticarray/StaticArray#__get - local.get $0 + local.get $2 local.get $1 call $~lib/array/Array#__get i32.ne @@ -3655,17 +3661,17 @@ end end global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 0 i32.const 7 i32.const 1824 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 local.get $0 + i32.store $0 local.get $1 + local.get $0 call $~lib/staticarray/StaticArray.fromArray local.tee $0 i32.store $0 offset=16 @@ -3688,28 +3694,28 @@ i32.const 8 i32.const 4 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.const 1856 i64.load $0 align=1 i64.store $0 align=1 local.get $0 - local.get $1 + local.get $2 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 4 i32.const 4 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $0 i32.const 1888 i32.load $0 align=1 i32.store $0 align=1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=24 local.get $0 + i32.store $0 offset=24 local.get $1 - local.get $6 + local.get $2 + local.get $0 call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> local.tee $0 i32.store $0 offset=28 @@ -3730,20 +3736,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 0 i32.const 4 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $0 i32.const 1920 i32.const 0 memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=24 local.get $0 + i32.store $0 offset=24 local.get $1 - local.get $6 + local.get $2 + local.get $0 call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> local.tee $0 i32.store $0 offset=28 @@ -3753,7 +3759,7 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.get $1 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3773,28 +3779,28 @@ i32.const 20 i32.const 8 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $4 i32.const 2128 i32.const 20 memory.copy $0 $0 local.get $0 - local.get $6 + local.get $4 i32.store $0 offset=32 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs - local.tee $0 + local.tee $3 i32.store $0 offset=36 - local.get $0 + local.get $3 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.get $6 + local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3813,7 +3819,7 @@ local.set $1 loop $for-loop|2 local.get $1 - local.get $6 + local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3821,22 +3827,22 @@ i32.shr_u i32.lt_s if - local.get $6 + local.get $4 local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $7 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i32.store $0 - local.get $0 + local.get $3 local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $8 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store $0 offset=24 - local.get $7 - local.get $8 + local.get $2 + local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3855,13 +3861,13 @@ end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const 1 i32.const 3 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $0 + local.tee $2 i32.store $0 offset=36 - local.get $0 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3877,15 +3883,15 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $7 + local.tee $0 local.get $1 i32.store $0 - local.get $7 + local.get $0 i32.const 1984 i32.store $0 offset=24 local.get $1 @@ -3900,18 +3906,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $2 i32.const 1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 + local.tee $0 local.get $1 + i32.store $0 + local.get $0 i32.const 2016 i32.store $0 offset=24 - local.get $0 + local.get $1 i32.const 2016 call $~lib/string/String.__eq i32.eqz @@ -3926,12 +3932,12 @@ i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const 1 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $0 i32.store $0 offset=36 - local.get $6 + local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3955,7 +3961,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const 0 i32.const 50 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -3967,7 +3973,7 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.get $6 + local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3985,7 +3991,7 @@ i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const 100 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $0 @@ -4007,7 +4013,7 @@ i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const -1 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $0 @@ -4031,15 +4037,15 @@ local.get $0 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 + local.tee $0 local.get $1 + i32.store $0 + local.get $0 i32.const 2080 i32.store $0 offset=24 - local.get $0 + local.get $1 i32.const 2080 call $~lib/string/String.__eq i32.eqz @@ -4052,7 +4058,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const -2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -4073,7 +4079,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const 2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> @@ -4098,15 +4104,15 @@ local.get $0 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 + local.tee $0 local.get $1 + i32.store $0 + local.get $0 i32.const 2016 i32.store $0 offset=24 - local.get $0 + local.get $1 i32.const 2016 call $~lib/string/String.__eq i32.eqz @@ -4123,32 +4129,32 @@ i32.const 20 i32.const 8 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.const 2304 i32.const 20 memory.copy $0 $0 local.get $0 - local.get $1 + local.get $2 i32.store $0 offset=40 global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 0 i32.const 9 i32.const 2352 call $~lib/rt/__newArray - local.set $6 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=24 local.get $0 + i32.store $0 offset=24 local.get $1 - local.get $6 + local.get $2 + local.get $0 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> local.tee $0 i32.store $0 offset=44 local.get $0 i32.load $0 offset=12 - local.get $1 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4164,24 +4170,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 1 i32.const 9 i32.const 2416 call $~lib/rt/__newArray - local.set $6 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=24 local.get $0 + i32.store $0 offset=24 local.get $1 - local.get $6 + local.get $2 + local.get $0 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> local.tee $0 i32.store $0 offset=44 local.get $0 i32.load $0 offset=12 - local.get $1 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4199,21 +4205,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 20 i32.const 8 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.const 2448 i32.const 20 memory.copy $0 $0 - local.get $0 local.get $1 + local.get $0 i32.store $0 offset=48 global.get $~lib/memory/__stack_pointer i32.const 1984 i32.store $0 offset=24 - local.get $1 + local.get $0 i32.const 1984 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#includes @@ -4230,7 +4236,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2384 i32.store $0 offset=24 - local.get $1 + local.get $0 i32.const 2384 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#includes @@ -4245,7 +4251,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2080 i32.store $0 offset=24 - local.get $1 + local.get $0 i32.const 2080 i32.const 5 call $~lib/staticarray/StaticArray<~lib/string/String>#includes @@ -4260,7 +4266,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2080 i32.store $0 offset=24 - local.get $1 + local.get $0 i32.const 2080 i32.const -1 call $~lib/staticarray/StaticArray<~lib/string/String>#includes @@ -4278,50 +4284,50 @@ i32.const 8 i32.const 10 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $3 i32.const 2496 i64.load $0 align=1 i64.store $0 align=1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store $0 i32.const 0 - local.set $1 + local.set $0 i32.const 0 - local.get $0 + local.get $3 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 3 i32.shr_u - local.tee $6 + local.tee $2 i32.eqz - local.tee $7 - local.get $7 + local.tee $1 + local.get $1 i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop loop $while-continue|0 - local.get $1 - local.get $6 + local.get $0 + local.get $2 i32.lt_s if i32.const 1 + local.get $3 local.get $0 - local.get $1 i32.const 3 i32.shl i32.add f64.load $0 - local.tee $4 - local.get $4 + local.tee $12 + local.get $12 f64.ne br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end @@ -4340,51 +4346,51 @@ i32.const 4 i32.const 11 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $3 i32.const 2528 i32.load $0 align=1 i32.store $0 align=1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store $0 i32.const 0 - local.set $1 + local.set $0 i32.const 0 - local.get $0 + local.get $3 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $6 + local.tee $2 i32.eqz - local.tee $7 - local.get $7 + local.tee $1 + local.get $1 i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop - loop $while-continue|09 - local.get $1 - local.get $6 + loop $while-continue|02 + local.get $0 + local.get $2 i32.lt_s if i32.const 1 + local.get $3 local.get $0 - local.get $1 i32.const 2 i32.shl i32.add f32.load $0 - local.tee $3 - local.get $3 + local.tee $11 + local.get $11 f32.ne br_if $__inlined_func$~lib/staticarray/StaticArray#includes drop - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|09 + local.set $0 + br $while-continue|02 end end i32.const 0 @@ -4403,36 +4409,36 @@ i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $3 i32.const 2560 i32.const 12 memory.copy $0 $0 local.get $0 - local.get $6 + local.get $3 i32.store $0 offset=52 i32.const 0 local.set $1 i32.const -1 local.set $0 block $__inlined_func$~lib/staticarray/StaticArray#indexOf - local.get $6 + local.get $3 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $7 + local.tee $2 i32.eqz - local.get $7 + local.get $2 i32.eqz i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf - loop $while-continue|01 + loop $while-continue|00 local.get $1 - local.get $7 + local.get $2 i32.lt_s if - local.get $6 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -4446,7 +4452,7 @@ i32.const 1 i32.add local.set $1 - br $while-continue|01 + br $while-continue|00 end end i32.const -1 @@ -4465,25 +4471,25 @@ local.set $1 i32.const -1 local.set $0 - block $__inlined_func$~lib/staticarray/StaticArray#indexOf2 - local.get $6 + block $__inlined_func$~lib/staticarray/StaticArray#indexOf1 + local.get $3 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $7 + local.tee $2 i32.eqz - local.get $7 + local.get $2 i32.eqz i32.or - br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf2 + br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf1 loop $while-continue|03 local.get $1 - local.get $7 + local.get $2 i32.lt_s if - local.get $6 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -4492,7 +4498,7 @@ i32.load $0 i32.const 7 i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf2 + br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf1 local.get $0 i32.const 1 i32.add @@ -4519,25 +4525,25 @@ i32.const -1 local.set $0 block $__inlined_func$~lib/staticarray/StaticArray#indexOf4 - local.get $6 + local.get $3 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $7 + local.tee $2 i32.eqz - local.get $7 + local.get $2 i32.const 2 i32.le_u i32.or br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf4 loop $while-continue|05 local.get $1 - local.get $7 + local.get $2 i32.lt_s if - local.get $6 + local.get $3 local.get $1 local.tee $0 i32.const 2 @@ -4571,31 +4577,31 @@ i32.const -1 local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#indexOf6 - local.get $6 + local.get $3 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $0 + local.tee $2 i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf6 - local.get $0 + local.get $2 i32.const 1 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select local.set $1 loop $while-continue|07 - local.get $0 local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $6 + local.get $3 local.get $1 i32.const 2 i32.shl @@ -4628,31 +4634,31 @@ i32.const -1 local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#indexOf8 - local.get $6 + local.get $3 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $0 + local.tee $2 i32.eqz br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf8 - local.get $0 + local.get $2 i32.const 3 i32.sub - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select local.set $1 - loop $while-continue|010 - local.get $0 + loop $while-continue|09 local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $6 + local.get $3 local.get $1 i32.const 2 i32.shl @@ -4665,7 +4671,7 @@ i32.const 1 i32.add local.set $1 - br $while-continue|010 + br $while-continue|09 end end i32.const -1 @@ -4685,19 +4691,19 @@ i32.const 16 i32.const 4 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $2 i32.const 2592 i32.const 16 memory.copy $0 $0 local.get $0 - local.get $6 + local.get $2 i32.store $0 offset=56 i32.const 1 global.set $~argumentsLength i32.const -1 local.set $0 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf - local.get $6 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4717,12 +4723,12 @@ i32.lt_s select local.set $0 - loop $while-continue|00 + loop $while-continue|012 local.get $0 i32.const 0 i32.ge_s if - local.get $6 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -4735,7 +4741,7 @@ i32.const 1 i32.sub local.set $0 - br $while-continue|00 + br $while-continue|012 end end i32.const -1 @@ -4754,67 +4760,67 @@ end i32.const 1 global.set $~argumentsLength - local.get $6 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $0 + local.set $3 i32.const -1 - local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 - local.get $6 + local.set $0 + block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf17 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $7 + local.tee $1 i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 - local.get $0 - local.get $7 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf17 + local.get $1 + local.get $3 i32.add - local.get $7 + local.get $1 i32.const 1 i32.sub - local.get $0 - local.get $0 - local.get $7 - i32.ge_s + local.get $3 + local.get $1 + local.get $3 + i32.le_s select - local.get $0 + local.get $3 i32.const 0 i32.lt_s select - local.set $0 - loop $while-continue|06 - local.get $0 + local.set $1 + loop $while-continue|018 + local.get $1 i32.const 0 i32.ge_s if - local.get $6 - local.get $0 - local.tee $1 + local.get $2 + local.get $1 + local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 i32.const 7 i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 - local.get $1 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf17 + local.get $0 i32.const 1 i32.sub - local.set $0 - br $while-continue|06 + local.set $1 + br $while-continue|018 end end i32.const -1 - local.set $1 + local.set $0 end - local.get $1 + local.get $0 i32.const -1 i32.ne if @@ -4827,8 +4833,8 @@ end i32.const -1 local.set $0 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf7 - local.get $6 + block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf19 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4836,7 +4842,7 @@ i32.shr_u local.tee $1 i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf7 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf19 i32.const 3 local.get $1 i32.const 1 @@ -4851,7 +4857,7 @@ i32.const 0 i32.ge_s if - local.get $6 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -4859,7 +4865,7 @@ i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf7 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf19 local.get $0 i32.const 1 i32.sub @@ -4883,8 +4889,8 @@ end i32.const -1 local.set $0 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf58 - local.get $6 + block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4892,7 +4898,7 @@ i32.shr_u local.tee $1 i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf58 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 i32.const 2 local.get $1 i32.const 1 @@ -4902,12 +4908,12 @@ i32.gt_u select local.set $0 - loop $while-continue|01011 + loop $while-continue|0910 local.get $0 i32.const 0 i32.ge_s if - local.get $6 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -4915,12 +4921,12 @@ i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf58 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 local.get $0 i32.const 1 i32.sub local.set $0 - br $while-continue|01011 + br $while-continue|0910 end end i32.const -1 @@ -4937,8 +4943,8 @@ end i32.const -1 local.set $0 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf11 - local.get $6 + block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf10 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 @@ -4946,7 +4952,7 @@ i32.shr_u local.tee $1 i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf11 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf10 local.get $1 i32.const 2 i32.sub @@ -4956,7 +4962,7 @@ i32.const 0 i32.ge_s if - local.get $6 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -4964,7 +4970,7 @@ i32.load $0 i32.const 2 i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf11 + br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf10 local.get $0 i32.const 1 i32.sub @@ -4987,7 +4993,7 @@ i32.const -1 local.set $0 block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf16 - local.get $6 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 @@ -5005,7 +5011,7 @@ i32.const 0 i32.ge_s if - local.get $6 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -5040,17 +5046,17 @@ i32.const 12 i32.const 8 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.const 2736 i32.const 12 memory.copy $0 $0 local.get $0 - local.get $1 + local.get $2 i32.store $0 offset=60 global.get $~lib/memory/__stack_pointer i32.const 2800 i32.store $0 offset=64 - local.get $1 + local.get $2 i32.const 2800 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 @@ -5075,7 +5081,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2768 i32.store $0 offset=64 - local.get $1 + local.get $2 i32.const 2768 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 @@ -5100,7 +5106,7 @@ global.get $~lib/memory/__stack_pointer i32.const 2928 i32.store $0 offset=64 - local.get $1 + local.get $2 i32.const 2928 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 @@ -5125,7 +5131,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3008 i32.store $0 offset=64 - local.get $1 + local.get $2 i32.const 3008 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 @@ -5150,12 +5156,12 @@ global.get $~lib/memory/__stack_pointer i32.const 2800 i32.store $0 offset=64 - local.get $1 + local.get $2 i32.const 2800 call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -5166,25 +5172,25 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $0 i32.const 0 i32.store $0 - local.get $6 + local.get $0 i32.const 2800 i32.store $0 - local.get $1 + local.get $2 i32.const 2800 call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=24 local.get $0 + i32.store $0 offset=24 local.get $1 + local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -5200,48 +5206,48 @@ i32.const 8 i32.const 4 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $2 i32.const 3104 i64.load $0 align=1 i64.store $0 align=1 local.get $0 - local.get $6 + local.get $2 i32.store $0 offset=68 i32.const 2 global.set $~argumentsLength i32.const 1 - local.get $6 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 1 i32.gt_u select - local.set $1 + local.set $0 loop $for-loop|024 local.get $0 local.get $1 - i32.gt_s + i32.lt_s if - local.get $6 - local.get $1 + local.get $2 + local.get $0 i32.const 2 i32.shl i32.add i32.const 1 i32.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|024 end end - local.get $6 + local.get $2 i32.const 0 call $~lib/staticarray/StaticArray#__get if @@ -5252,7 +5258,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $2 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 1 @@ -5270,14 +5276,14 @@ i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $5 i32.const 3136 i32.const 12 memory.copy $0 $0 local.get $0 - local.get $1 + local.get $5 i32.store $0 offset=72 - local.get $1 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 @@ -5287,50 +5293,52 @@ i32.const 1 i32.gt_u if + i32.const 0 + local.set $1 local.get $0 i32.const 1 i32.shr_u - local.set $6 + local.set $4 local.get $0 i32.const 1 i32.sub - local.set $0 + local.set $3 loop $while-continue|029 - local.get $2 - local.get $6 + local.get $1 + local.get $4 i32.lt_u if + local.get $5 local.get $1 - local.get $2 i32.const 2 i32.shl i32.add - local.tee $7 + local.tee $0 i32.load $0 - local.set $8 - local.get $7 - local.get $1 + local.set $2 local.get $0 - local.get $2 + local.get $5 + local.get $3 + local.get $1 i32.sub i32.const 2 i32.shl i32.add - local.tee $7 + local.tee $0 i32.load $0 i32.store $0 - local.get $7 - local.get $8 - i32.store $0 + local.get $0 local.get $2 + i32.store $0 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $while-continue|029 end end end - local.get $1 + local.get $5 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 3 @@ -5343,7 +5351,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $5 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 2 @@ -5356,7 +5364,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $5 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 1 @@ -5374,46 +5382,46 @@ i32.const 20 i32.const 4 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.const 3168 i32.const 20 memory.copy $0 $0 local.get $0 - local.get $1 + local.get $2 i32.store $0 offset=76 i32.const 2 global.set $~argumentsLength - local.get $1 - local.get $1 + local.get $2 i32.const 3 - local.get $1 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 3 i32.gt_u select - local.tee $2 + local.tee $0 i32.const 2 i32.shl + local.get $2 i32.add + local.get $1 local.get $0 - local.get $2 i32.sub - local.tee $2 - local.get $0 + local.tee $0 + local.get $1 local.get $0 - local.get $2 - i32.gt_s + local.get $1 + i32.lt_s select i32.const 2 i32.shl memory.copy $0 $0 - local.get $1 + local.get $2 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 4 @@ -5426,7 +5434,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -5439,7 +5447,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 3 @@ -5452,7 +5460,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 3 call $~lib/staticarray/StaticArray#__get i32.const 4 @@ -5465,7 +5473,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 4 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -5492,6 +5500,8 @@ i32.store $0 offset=80 global.get $~lib/memory/__stack_pointer local.tee $0 + local.set $6 + local.get $0 i32.const 3248 i32.store $0 offset=24 local.get $0 @@ -5503,67 +5513,67 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i32.const 0 i32.store $0 - local.get $1 + local.get $0 local.get $8 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $1 + local.tee $5 i32.const 7 i32.const 0 call $~lib/rt/__newArray - local.tee $6 + local.tee $4 i32.store $0 - local.get $6 + local.get $4 i32.load $0 offset=4 - local.set $7 + local.set $3 i32.const 0 - local.set $2 - loop $for-loop|017 + local.set $1 + loop $for-loop|03 local.get $1 - local.get $2 - i32.gt_s + local.get $5 + i32.lt_s if - local.get $2 + local.get $1 i32.const 2 i32.shl - local.tee $9 + local.tee $2 local.get $8 i32.add i32.load $0 - local.set $10 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $7 - local.get $9 - i32.add - local.get $10 local.get $2 + local.get $3 + i32.add + local.get $0 + local.get $1 local.get $8 i32.const 3248 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store $0 - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 - br $for-loop|017 + local.set $1 + br $for-loop|03 end end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $6 + local.get $4 i32.store $0 offset=84 - local.get $6 + local.get $4 i32.const 0 call $~lib/array/Array#__get i32.const 2 @@ -5576,7 +5586,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $4 i32.const 1 call $~lib/array/Array#__get i32.const 3 @@ -5589,7 +5599,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $4 i32.const 2 call $~lib/array/Array#__get i32.const 4 @@ -5613,10 +5623,10 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $1 - loop $for-loop|019 + local.set $2 + loop $for-loop|04 local.get $0 - local.get $1 + local.get $2 i32.lt_s if local.get $8 @@ -5625,10 +5635,10 @@ i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 local.get $8 i32.const 3280 @@ -5638,7 +5648,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|019 + br $for-loop|04 end end global.get $std/staticarray/maxVal @@ -5653,10 +5663,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $9 + local.tee $7 i32.const 3312 i32.store $0 offset=24 - local.get $9 + local.get $7 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -5673,7 +5683,7 @@ i32.const 7 i32.const 0 call $~lib/rt/__newArray - local.tee $7 + local.tee $6 i32.store $0 local.get $8 i32.const 20 @@ -5681,42 +5691,42 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $10 - loop $for-loop|021 + local.set $5 + loop $for-loop|05 local.get $5 - local.get $10 - i32.lt_s + local.get $13 + i32.gt_s if local.get $8 - local.get $5 + local.get $13 i32.const 2 i32.shl i32.add i32.load $0 - local.set $11 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $11 - local.get $5 + local.get $4 + local.get $13 local.get $8 i32.const 3312 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $7 + local.get $6 i32.load $0 offset=12 - local.tee $12 + local.tee $3 i32.const 1 i32.add - local.tee $2 - local.get $7 + local.tee $10 + local.get $6 i32.load $0 offset=8 local.tee $0 i32.const 2 i32.shr_u i32.gt_u if - local.get $2 + local.get $10 i32.const 268435455 i32.gt_u if @@ -5737,27 +5747,27 @@ i32.const 1073741820 i32.ge_u select - local.tee $0 + local.tee $1 i32.const 8 - local.get $2 - local.get $2 + local.get $10 + local.get $10 i32.const 8 i32.le_u select i32.const 2 i32.shl - local.tee $1 + local.tee $0 local.get $0 local.get $1 - i32.gt_u + i32.lt_u select - local.tee $6 - local.get $7 + local.tee $9 + local.get $6 i32.load $0 local.tee $1 i32.const 20 i32.sub - local.tee $13 + local.tee $2 i32.load $0 i32.const -4 i32.and @@ -5765,26 +5775,26 @@ i32.sub i32.le_u if - local.get $13 - local.get $6 + local.get $2 + local.get $9 i32.store $0 offset=16 local.get $1 local.set $0 br $__inlined_func$~lib/rt/itcms/__renew end - local.get $6 - local.get $13 + local.get $9 + local.get $2 i32.load $0 offset=12 call $~lib/rt/itcms/__new local.tee $0 local.get $1 - local.get $6 - local.get $13 + local.get $9 + local.get $2 i32.load $0 offset=16 - local.tee $13 - local.get $6 - local.get $13 - i32.lt_u + local.tee $2 + local.get $2 + local.get $9 + i32.gt_u select memory.copy $0 $0 end @@ -5792,51 +5802,51 @@ local.get $1 i32.ne if - local.get $7 + local.get $6 local.get $0 i32.store $0 - local.get $7 + local.get $6 local.get $0 i32.store $0 offset=4 local.get $0 if - local.get $7 + local.get $6 local.get $0 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end end - local.get $7 local.get $6 + local.get $9 i32.store $0 offset=8 end - local.get $7 + local.get $6 i32.load $0 offset=4 - local.get $12 + local.get $3 i32.const 2 i32.shl i32.add - local.get $11 + local.get $4 i32.store $0 - local.get $7 - local.get $2 + local.get $6 + local.get $10 i32.store $0 offset=12 end - local.get $5 + local.get $13 i32.const 1 i32.add - local.set $5 - br $for-loop|021 + local.set $13 + br $for-loop|05 end end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 local.get $7 + local.get $6 i32.store $0 offset=88 - local.get $7 + local.get $6 i32.load $0 offset=12 i32.const 2 i32.ne @@ -5848,7 +5858,7 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $6 i32.const 0 call $~lib/array/Array#__get i32.const 2 @@ -5861,7 +5871,7 @@ call $~lib/builtins/abort unreachable end - local.get $7 + local.get $6 i32.const 1 call $~lib/array/Array#__get i32.const 3 @@ -5887,10 +5897,10 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $2 - loop $for-loop|023 + local.set $3 + loop $for-loop|06 local.get $1 - local.get $2 + local.get $3 i32.lt_s if local.get $8 @@ -5899,11 +5909,11 @@ i32.shl i32.add i32.load $0 - local.set $5 + local.set $2 i32.const 4 global.set $~argumentsLength local.get $0 - local.get $5 + local.get $2 local.get $1 local.get $8 i32.const 3344 @@ -5914,7 +5924,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|023 + br $for-loop|06 end end local.get $0 @@ -5942,7 +5952,7 @@ i32.const 1 i32.sub local.set $0 - loop $for-loop|025 + loop $for-loop|07 local.get $0 i32.const 0 i32.ge_s @@ -5968,7 +5978,7 @@ i32.const 1 i32.sub local.set $0 - br $for-loop|025 + br $for-loop|07 end end local.get $1 @@ -5994,10 +6004,10 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $1 + local.set $2 loop $for-loop|038 local.get $0 - local.get $1 + local.get $2 i32.lt_s if local.get $8 @@ -6006,11 +6016,11 @@ i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 local.get $8 i32.const 3408 @@ -6036,7 +6046,7 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/staticarray/StaticArray#some40 (result i32) + block $__inlined_func$~lib/staticarray/StaticArray#some39 (result i32) global.get $~lib/memory/__stack_pointer i32.const 3440 i32.store $0 offset=24 @@ -6048,10 +6058,10 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $1 - loop $for-loop|044 + local.set $2 + loop $for-loop|042 local.get $0 - local.get $1 + local.get $2 i32.lt_s if local.get $8 @@ -6060,23 +6070,23 @@ i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $2 + local.get $1 local.get $0 local.get $8 i32.const 3440 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#some40 + br_if $__inlined_func$~lib/staticarray/StaticArray#some39 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|044 + br $for-loop|042 end end i32.const 0 @@ -6101,10 +6111,10 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $1 - loop $for-loop|048 + local.set $2 + loop $for-loop|046 local.get $0 - local.get $1 + local.get $2 i32.lt_s if local.get $8 @@ -6113,11 +6123,11 @@ i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 local.get $8 i32.const 3472 @@ -6130,7 +6140,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|048 + br $for-loop|046 end end i32.const 1 @@ -6144,7 +6154,7 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/staticarray/StaticArray#every50 (result i32) + block $__inlined_func$~lib/staticarray/StaticArray#every47 (result i32) global.get $~lib/memory/__stack_pointer i32.const 3504 i32.store $0 offset=24 @@ -6156,10 +6166,10 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $1 - loop $for-loop|053 + local.set $2 + loop $for-loop|050 local.get $0 - local.get $1 + local.get $2 i32.lt_s if local.get $8 @@ -6168,24 +6178,24 @@ i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $2 + local.get $1 local.get $0 local.get $8 i32.const 3504 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#every50 + br_if $__inlined_func$~lib/staticarray/StaticArray#every47 drop local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|053 + br $for-loop|050 end end i32.const 1 @@ -6209,11 +6219,11 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $1 + local.set $2 block $__inlined_func$~lib/staticarray/StaticArray#findIndex - loop $for-loop|057 + loop $for-loop|053 local.get $0 - local.get $1 + local.get $2 i32.lt_s if local.get $8 @@ -6222,10 +6232,10 @@ i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 local.get $8 i32.const 3536 @@ -6236,7 +6246,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|057 + br $for-loop|053 end end i32.const -1 @@ -6264,11 +6274,11 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#findIndex59 - loop $for-loop|063 + local.set $2 + block $__inlined_func$~lib/staticarray/StaticArray#findIndex54 + loop $for-loop|057 local.get $0 - local.get $1 + local.get $2 i32.lt_s if local.get $8 @@ -6277,21 +6287,21 @@ i32.shl i32.add i32.load $0 - local.set $2 + local.set $1 i32.const 3 global.set $~argumentsLength - local.get $2 + local.get $1 local.get $0 local.get $8 i32.const 3568 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex59 + br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex54 local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|063 + br $for-loop|057 end end i32.const -1 @@ -6321,7 +6331,7 @@ i32.sub local.set $1 block $__inlined_func$~lib/staticarray/StaticArray#findLastIndex - loop $for-loop|067 + loop $for-loop|061 local.get $1 i32.const 0 i32.ge_s @@ -6346,7 +6356,7 @@ i32.const 1 i32.sub local.set $1 - br $for-loop|067 + br $for-loop|061 end end i32.const -1 @@ -6375,8 +6385,8 @@ i32.const 1 i32.sub local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#findLastIndex69 - loop $for-loop|072 + block $__inlined_func$~lib/staticarray/StaticArray#findLastIndex62 + loop $for-loop|065 local.get $1 i32.const 0 i32.ge_s @@ -6396,12 +6406,12 @@ i32.const 3632 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#findLastIndex69 + br_if $__inlined_func$~lib/staticarray/StaticArray#findLastIndex62 local.get $1 i32.const 1 i32.sub local.set $1 - br $for-loop|072 + br $for-loop|065 end end i32.const -1 @@ -6419,16 +6429,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 16 i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.const 3664 i32.const 16 memory.copy $0 $0 + local.get $1 local.get $0 - local.get $2 i32.store $0 offset=92 i32.const 0 global.set $~argumentsLength @@ -6445,11 +6455,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of174 - block $0of175 - block $outOfRange28 + block $1of166 + block $0of167 + block $outOfRange8 global.get $~argumentsLength - br_table $0of175 $1of174 $outOfRange28 + br_table $0of167 $1of166 $outOfRange8 end unreachable end @@ -6459,8 +6469,8 @@ i32.const 3712 i32.store $0 end - local.get $2 - local.get $2 + local.get $0 + local.get $0 i32.const 20 i32.sub i32.load $0 offset=16 @@ -6472,7 +6482,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 0 call $~lib/staticarray/StaticArray#__get if @@ -6483,7 +6493,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 1 @@ -6496,7 +6506,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 2 @@ -6509,7 +6519,7 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 i32.const 3 call $~lib/staticarray/StaticArray#__get i32.const 3 @@ -6528,12 +6538,12 @@ i32.const 0 i32.gt_s if - loop $while-continue|030 + loop $while-continue|010 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|030 + br $while-continue|010 end end end @@ -6850,14 +6860,14 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $3 + local.set $4 local.get $0 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $3 + local.get $4 i32.add local.tee $0 i32.const 0 @@ -6867,9 +6877,9 @@ select else local.get $1 - local.get $3 + local.get $4 local.get $1 - local.get $3 + local.get $4 i32.lt_s select end @@ -6877,8 +6887,6 @@ i32.const 2 i32.shl i32.add - local.set $4 - i32.const 0 local.set $1 global.get $~lib/memory/__stack_pointer local.get $2 @@ -6886,7 +6894,7 @@ i32.lt_s if (result i32) local.get $2 - local.get $3 + local.get $4 i32.add local.tee $2 i32.const 0 @@ -6896,9 +6904,9 @@ select else local.get $2 - local.get $3 + local.get $4 local.get $2 - local.get $3 + local.get $4 i32.lt_s select end @@ -6919,29 +6927,29 @@ i32.store $0 loop $while-continue|0 local.get $0 - local.get $1 + local.get $3 i32.gt_u if - local.get $1 local.get $2 + local.get $3 i32.add local.get $1 - local.get $4 + local.get $3 i32.add i32.load $0 - local.tee $3 + local.tee $4 i32.store $0 - local.get $3 + local.get $4 if local.get $2 - local.get $3 + local.get $4 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 + local.get $3 i32.const 4 i32.add - local.set $1 + local.set $3 br $while-continue|0 end end @@ -7045,9 +7053,9 @@ local.tee $2 local.get $1 i32.load $0 offset=12 - local.tee $5 - i32.add local.tee $3 + i32.add + local.tee $4 i32.const 268435455 i32.gt_u if @@ -7063,18 +7071,18 @@ i32.shl local.set $6 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.const 9 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $4 i32.store $0 - local.get $2 + local.get $4 i32.load $0 offset=4 - local.set $3 + local.set $7 local.get $1 i32.load $0 offset=4 - local.set $7 + local.set $2 i32.const 0 local.set $1 loop $for-loop|0 @@ -7083,18 +7091,18 @@ i32.lt_u if local.get $1 - local.get $3 + local.get $7 i32.add local.get $0 local.get $1 i32.add i32.load $0 - local.tee $4 + local.tee $5 i32.store $0 - local.get $4 + local.get $5 if - local.get $2 local.get $4 + local.get $5 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end @@ -7105,41 +7113,41 @@ br $for-loop|0 end end - local.get $3 local.get $6 + local.get $7 i32.add - local.set $1 - local.get $5 + local.set $0 + local.get $3 i32.const 2 i32.shl local.set $3 i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 local.get $3 i32.lt_u if local.get $0 local.get $1 i32.add - local.get $0 - local.get $7 + local.get $1 + local.get $2 i32.add i32.load $0 - local.tee $4 + local.tee $5 i32.store $0 - local.get $4 + local.get $5 if - local.get $2 local.get $4 + local.get $5 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 + local.get $1 i32.const 4 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end @@ -7147,7 +7155,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $4 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white diff --git a/tests/compiler/std/string-casemapping.debug.wat b/tests/compiler/std/string-casemapping.debug.wat index cf13d53e5c..c6fdcbaa3a 100644 --- a/tests/compiler/std/string-casemapping.debug.wat +++ b/tests/compiler/std/string-casemapping.debug.wat @@ -234,6 +234,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this @@ -253,6 +254,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -265,12 +267,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -428,6 +432,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -447,6 +452,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -564,6 +570,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -739,22 +746,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -779,16 +789,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -884,18 +897,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -919,18 +935,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -940,12 +959,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1093,22 +1115,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1153,16 +1178,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1217,10 +1245,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1336,6 +1367,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1518,6 +1550,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1752,6 +1785,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1830,6 +1864,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1845,6 +1880,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1935,16 +1971,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1977,16 +2016,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -2000,46 +2042,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2076,10 +2125,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2199,30 +2251,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2293,6 +2351,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2305,6 +2364,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2367,6 +2427,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/staticarray/StaticArray#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2375,6 +2436,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/casemap/casemap (type $i32_i32_=>_i32) (param $c i32) (param $dir i32) (result i32) (local $c0 i32) @@ -2562,6 +2624,7 @@ end end local.get $c0 + return ) (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2611,6 +2674,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2714,6 +2778,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2756,6 +2821,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/util/string/stagedBinaryLookup (type $i32_i32_=>_i32) (param $table i32) (param $c i32) (result i32) local.get $table @@ -2781,6 +2847,7 @@ i32.shr_u i32.const 1 i32.and + return ) (func $~lib/string/String#codePointAt (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) (local $len i32) @@ -2848,6 +2915,7 @@ i32.add i32.const 65536 i32.add + return ) (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) local.get $value @@ -3275,12 +3343,15 @@ (local $b64 i64) (local $b i64) (local $e i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -3342,6 +3413,7 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) @@ -3438,11 +3510,13 @@ local.get $this local.get $radix call $~lib/util/number/itoa64 + return ) (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) local.get $left local.get $right call $~lib/string/String#concat + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -3612,12 +3686,15 @@ i32.add i32.load16_u $0 local.set $c - local.get $c - local.set $c|8 - local.get $c|8 - i32.const 7 - i32.shr_u - i32.eqz + block $~lib/util/string/isAscii|inlined.0 (result i32) + local.get $c + local.set $c|8 + local.get $c|8 + i32.const 7 + i32.shr_u + i32.eqz + br $~lib/util/string/isAscii|inlined.0 + end if local.get $codes local.get $j @@ -3797,6 +3874,7 @@ end end i32.const -1 + br $~lib/util/casemap/bsearch|inlined.0 end local.set $index end @@ -3917,6 +3995,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $24 + return ) (func $start:std/string-casemapping (type $none_=>_none) (local $0 i32) @@ -6651,12 +6730,15 @@ i32.add i32.load16_u $0 local.set $c - local.get $c - local.set $c|6 - local.get $c|6 - i32.const 7 - i32.shr_u - i32.eqz + block $~lib/util/string/isAscii|inlined.1 (result i32) + local.get $c + local.set $c|6 + local.get $c|6 + i32.const 7 + i32.shr_u + i32.eqz + br $~lib/util/string/isAscii|inlined.1 + end if local.get $codes local.get $j @@ -6880,34 +6962,41 @@ else local.get $c|21 end + br $~lib/util/string/codePointBefore|inlined.0 end local.set $c|23 - local.get $c|23 - local.set $c|24 - local.get $c|24 - i32.const 918000 - i32.lt_u - if (result i32) - i32.const 6188 - local.get $c|24 - call $~lib/util/string/stagedBinaryLookup - else - i32.const 0 - end - i32.eqz - if + block $~lib/util/string/isCaseIgnorable|inlined.0 (result i32) local.get $c|23 - local.set $c|25 - local.get $c|25 - i32.const 127370 + local.set $c|24 + local.get $c|24 + i32.const 918000 i32.lt_u if (result i32) - i32.const 9196 - local.get $c|25 + i32.const 6188 + local.get $c|24 call $~lib/util/string/stagedBinaryLookup else i32.const 0 end + br $~lib/util/string/isCaseIgnorable|inlined.0 + end + i32.eqz + if + block $~lib/util/string/isCased|inlined.0 (result i32) + local.get $c|23 + local.set $c|25 + local.get $c|25 + i32.const 127370 + i32.lt_u + if (result i32) + i32.const 9196 + local.get $c|25 + call $~lib/util/string/stagedBinaryLookup + else + i32.const 0 + end + br $~lib/util/string/isCased|inlined.0 + end if i32.const 1 local.set $found @@ -6999,32 +7088,38 @@ local.set $c|29 end end - local.get $c|29 - local.set $c|31 - local.get $c|31 - i32.const 918000 - i32.lt_u - if (result i32) - i32.const 6188 - local.get $c|31 - call $~lib/util/string/stagedBinaryLookup - else - i32.const 0 - end - i32.eqz - if + block $~lib/util/string/isCaseIgnorable|inlined.1 (result i32) local.get $c|29 - local.set $c|32 - local.get $c|32 - i32.const 127370 + local.set $c|31 + local.get $c|31 + i32.const 918000 i32.lt_u if (result i32) - i32.const 9196 - local.get $c|32 + i32.const 6188 + local.get $c|31 call $~lib/util/string/stagedBinaryLookup else i32.const 0 end + br $~lib/util/string/isCaseIgnorable|inlined.1 + end + i32.eqz + if + block $~lib/util/string/isCased|inlined.1 (result i32) + local.get $c|29 + local.set $c|32 + local.get $c|32 + i32.const 127370 + i32.lt_u + if (result i32) + i32.const 9196 + local.get $c|32 + call $~lib/util/string/stagedBinaryLookup + else + i32.const 0 + end + br $~lib/util/string/isCased|inlined.1 + end i32.eqz br $~lib/util/string/isFinalSigma|inlined.0 end @@ -7040,6 +7135,7 @@ end end i32.const 1 + br $~lib/util/string/isFinalSigma|inlined.0 end else i32.const 0 @@ -7151,6 +7247,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $36 + return ) (func $~lib/string/String.fromCodePoint (type $i32_=>_i32) (param $code i32) (result i32) (local $hasSur i32) @@ -7228,6 +7325,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 + return ) (func $~lib/util/number/itoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) (local $sign i32) @@ -7451,6 +7549,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $18 + return ) (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) (local $thisSize i32) @@ -7516,5 +7615,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 + return ) ) diff --git a/tests/compiler/std/string-casemapping.release.wat b/tests/compiler/std/string-casemapping.release.wat index b1021bfdcc..e2cf7d2373 100644 --- a/tests/compiler/std/string-casemapping.release.wat +++ b/tests/compiler/std/string-casemapping.release.wat @@ -1,10 +1,10 @@ (module (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func_subtype (param i32 i32 f64 f64 f64 f64 f64) func)) @@ -532,6 +532,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 53848 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 21056 + i32.load $0 + i32.gt_u + if + i32.const 1280 + i32.const 1344 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 21060 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -2375,7 +2507,7 @@ i32.load $0 offset=16 i32.const 1 i32.shr_u - local.tee $7 + local.tee $8 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -2386,12 +2518,12 @@ return end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.const 6 i32.mul i32.const 2 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $6 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 1488 @@ -2402,12 +2534,12 @@ i32.shr_u local.set $3 loop $for-loop|0 - local.get $6 local.get $7 + local.get $8 i32.lt_u if local.get $0 - local.get $6 + local.get $7 i32.const 1 i32.shl i32.add @@ -2422,30 +2554,30 @@ i32.sub i32.const 1025 i32.lt_u - local.get $6 local.get $7 + local.get $8 i32.const 1 i32.sub i32.lt_u i32.and if local.get $0 - local.get $6 + local.get $7 i32.const 1 i32.shl i32.add i32.load16_u $0 offset=2 - local.tee $8 + local.tee $4 i32.const 56319 i32.sub i32.const 1025 i32.lt_u if - local.get $6 + local.get $7 i32.const 1 i32.add - local.set $6 - local.get $8 + local.set $7 + local.get $4 i32.const 1023 i32.and local.get $2 @@ -2461,21 +2593,21 @@ i32.const 131072 i32.ge_u if + local.get $6 local.get $5 - local.get $4 i32.const 1 i32.shl i32.add local.get $1 - local.get $8 + local.get $4 i32.const 16 i32.shl i32.or i32.store $0 - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-continue|0 end end @@ -2486,8 +2618,8 @@ i32.const 25 i32.le_u if + local.get $6 local.get $5 - local.get $4 i32.const 1 i32.shl i32.add @@ -2502,24 +2634,24 @@ i32.const 64056 i32.le_u if (result i32) - block $~lib/util/casemap/bsearch|inlined.0 (result i32) - local.get $3 - local.set $1 - i32.const 0 - local.set $8 + local.get $3 + local.set $1 + i32.const 0 + local.set $9 + block $~lib/util/casemap/bsearch|inlined.0 loop $while-continue|1 local.get $1 - local.get $8 + local.get $9 i32.ge_s if local.get $1 - local.get $8 + local.get $9 i32.add i32.const 3 i32.shr_u i32.const 2 i32.shl - local.tee $10 + local.tee $4 i32.const 1 i32.shl i32.const 1488 @@ -2527,31 +2659,30 @@ i32.load16_u $0 local.get $2 i32.sub - local.tee $9 + local.tee $10 + i32.eqz + br_if $~lib/util/casemap/bsearch|inlined.0 + local.get $10 + i32.const 31 + i32.shr_u if - local.get $9 - i32.const 31 - i32.shr_u - if - local.get $10 - i32.const 4 - i32.add - local.set $8 - else - local.get $10 - i32.const 4 - i32.sub - local.set $1 - end + local.get $4 + i32.const 4 + i32.add + local.set $9 else - local.get $10 - br $~lib/util/casemap/bsearch|inlined.0 + local.get $4 + i32.const 4 + i32.sub + local.set $1 end br $while-continue|1 end end i32.const -1 + local.set $4 end + local.get $4 else i32.const -1 end @@ -2567,26 +2698,26 @@ local.tee $1 i32.load16_u $0 offset=6 local.set $2 + local.get $6 local.get $5 - local.get $4 i32.const 1 i32.shl i32.add - local.tee $8 + local.tee $4 local.get $1 i32.load $0 offset=2 i32.store $0 - local.get $8 + local.get $4 local.get $2 i32.store16 $0 offset=4 - local.get $4 + local.get $5 local.get $2 i32.const 0 i32.ne i32.const 1 i32.add i32.add - local.set $4 + local.set $5 else local.get $2 i32.const 1 @@ -2597,16 +2728,16 @@ i32.const 65536 i32.lt_u if + local.get $6 local.get $5 - local.get $4 i32.const 1 i32.shl i32.add local.get $1 i32.store16 $0 else + local.get $6 local.get $5 - local.get $4 i32.const 1 i32.shl i32.add @@ -2627,17 +2758,17 @@ i32.shl i32.or i32.store $0 - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 end end end end else + local.get $6 local.get $5 - local.get $4 i32.const 1 i32.shl i32.add @@ -2647,19 +2778,19 @@ i32.load8_u $0 i32.store16 $0 end - local.get $6 + local.get $7 i32.const 1 i32.add - local.set $6 - local.get $4 + local.set $7 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|0 end end + local.get $6 local.get $5 - local.get $4 i32.const 1 i32.shl call $~lib/rt/itcms/__renew @@ -5275,6 +5406,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -5299,7 +5431,7 @@ i32.load $0 offset=16 i32.const 1 i32.shr_u - local.tee $6 + local.tee $8 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -5310,62 +5442,62 @@ return end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.const 2 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $9 i32.store $0 loop $for-loop|0 - local.get $3 - local.get $6 + local.get $2 + local.get $8 i32.lt_u if local.get $0 - local.get $3 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.tee $1 + local.tee $4 i32.const 7 i32.shr_u if block $for-continue|0 - local.get $1 + local.get $4 i32.const 55295 i32.sub i32.const 1025 i32.lt_u - local.get $3 - local.get $6 + local.get $2 + local.get $8 i32.const 1 i32.sub i32.lt_u i32.and if local.get $0 - local.get $3 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_u $0 offset=2 - local.tee $7 + local.tee $3 i32.const 56319 i32.sub i32.const 1025 i32.lt_u if - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 - local.get $7 + local.set $2 + local.get $3 i32.const 1023 i32.and - local.get $1 - local.tee $2 + local.get $4 + local.tee $1 i32.const 1023 i32.and i32.const 10 @@ -5373,148 +5505,148 @@ i32.or i32.const 65536 i32.add - local.tee $1 + local.tee $4 i32.const 131072 i32.ge_u if - local.get $5 - local.get $4 + local.get $9 + local.get $10 i32.const 1 i32.shl i32.add - local.get $2 - local.get $7 + local.get $1 + local.get $3 i32.const 16 i32.shl i32.or i32.store $0 - local.get $4 + local.get $10 i32.const 1 i32.add - local.set $4 + local.set $10 br $for-continue|0 end end end - local.get $1 + local.get $4 i32.const 304 i32.eq if - local.get $5 - local.get $4 + local.get $9 + local.get $10 i32.const 1 i32.shl i32.add i32.const 50790505 i32.store $0 - local.get $4 + local.get $10 i32.const 1 i32.add - local.set $4 + local.set $10 else - local.get $1 + local.get $4 i32.const 931 i32.eq if - local.get $5 - local.get $4 + local.get $9 + local.get $10 i32.const 1 i32.shl i32.add i32.const 962 i32.const 963 - local.get $6 + local.get $8 i32.const 1 i32.gt_u if (result i32) block $~lib/util/string/isFinalSigma|inlined.0 (result i32) i32.const 0 local.set $1 - local.get $3 - local.tee $2 + local.get $2 + local.tee $3 i32.const 30 i32.sub - local.tee $7 + local.tee $4 i32.const 0 - local.get $7 + local.get $4 i32.const 0 i32.ge_s select - local.set $8 + local.set $7 loop $while-continue|1 - local.get $2 - local.get $8 + local.get $3 + local.get $7 i32.gt_s if - block $~lib/util/string/codePointBefore|inlined.0 (result i32) - i32.const -1 - local.get $2 + i32.const -1 + local.set $4 + block $~lib/util/string/codePointBefore|inlined.0 + local.get $3 i32.const 0 i32.le_s br_if $~lib/util/string/codePointBefore|inlined.0 - drop local.get $0 - local.get $2 + local.get $3 i32.const 1 i32.sub i32.const 1 i32.shl i32.add i32.load16_u $0 - local.tee $9 + local.tee $5 i32.const 64512 i32.and i32.const 56320 i32.eq - local.get $2 + local.get $3 i32.const 2 i32.sub i32.const 0 i32.ge_s i32.and if + local.get $5 + i32.const 1023 + i32.and local.get $0 - local.get $2 + local.get $3 i32.const 2 i32.sub i32.const 1 i32.shl i32.add i32.load16_u $0 - local.tee $7 + local.tee $6 + i32.const 1023 + i32.and + i32.const 10 + i32.shl + i32.add + i32.const 65536 + i32.add + local.set $4 + local.get $6 i32.const 64512 i32.and i32.const 55296 i32.eq - if - local.get $9 - i32.const 1023 - i32.and - local.get $7 - i32.const 1023 - i32.and - i32.const 10 - i32.shl - i32.add - i32.const 65536 - i32.add - br $~lib/util/string/codePointBefore|inlined.0 - end + br_if $~lib/util/string/codePointBefore|inlined.0 end i32.const 65533 - local.get $9 - local.get $9 + local.get $5 + local.get $5 i32.const 63488 i32.and i32.const 55296 i32.eq select + local.set $4 end - local.tee $7 + local.get $4 i32.const 918000 i32.lt_u if (result i32) - local.get $7 + local.get $4 i32.const 8 i32.shr_u i32.const 7212 @@ -5524,14 +5656,14 @@ i32.shl i32.const 7212 i32.add - local.get $7 + local.get $4 i32.const 255 i32.and i32.const 3 i32.shr_u i32.add i32.load8_u $0 - local.get $7 + local.get $4 i32.const 7 i32.and i32.shr_u @@ -5543,11 +5675,11 @@ i32.eqz if i32.const 0 - local.get $7 + local.get $4 i32.const 127370 i32.lt_u if (result i32) - local.get $7 + local.get $4 i32.const 8 i32.shr_u i32.const 10220 @@ -5557,14 +5689,14 @@ i32.shl i32.const 10220 i32.add - local.get $7 + local.get $4 i32.const 255 i32.and i32.const 3 i32.shr_u i32.add i32.load8_u $0 - local.get $7 + local.get $4 i32.const 7 i32.and i32.shr_u @@ -5579,14 +5711,14 @@ i32.const 1 local.set $1 end - local.get $2 - local.get $7 + local.get $3 + local.get $4 i32.const 65536 i32.ge_s i32.const 1 i32.add i32.sub - local.set $2 + local.set $3 br $while-continue|1 end end @@ -5595,26 +5727,26 @@ i32.eqz br_if $~lib/util/string/isFinalSigma|inlined.0 drop - local.get $3 + local.get $2 i32.const 1 i32.add - local.tee $2 + local.tee $3 i32.const 30 i32.add local.tee $1 - local.get $6 + local.get $8 local.get $1 - local.get $6 + local.get $8 i32.lt_s select - local.set $7 + local.set $5 loop $while-continue|2 - local.get $2 - local.get $7 + local.get $3 + local.get $5 i32.lt_s if local.get $0 - local.get $2 + local.get $3 i32.const 1 i32.shl i32.add @@ -5624,20 +5756,20 @@ i32.and i32.const 55296 i32.eq - local.get $2 + local.get $3 i32.const 1 i32.add - local.get $6 + local.get $8 i32.ne i32.and if local.get $0 - local.get $2 + local.get $3 i32.const 1 i32.shl i32.add i32.load16_u $0 offset=2 - local.tee $8 + local.tee $4 i32.const 64512 i32.and i32.const 56320 @@ -5646,7 +5778,7 @@ local.get $1 i32.const 10 i32.shl - local.get $8 + local.get $4 i32.add i32.const 56613888 i32.sub @@ -5718,14 +5850,14 @@ i32.eqz br $~lib/util/string/isFinalSigma|inlined.0 end - local.get $2 + local.get $3 local.get $1 i32.const 65536 i32.ge_u i32.const 1 i32.add i32.add - local.set $2 + local.set $3 br $while-continue|2 end end @@ -5737,23 +5869,23 @@ select i32.store16 $0 else - local.get $1 + local.get $4 i32.const 9398 i32.sub i32.const 25 i32.le_u if - local.get $5 - local.get $4 + local.get $9 + local.get $10 i32.const 1 i32.shl i32.add - local.get $1 + local.get $4 i32.const 26 i32.add i32.store16 $0 else - local.get $1 + local.get $4 i32.const 0 call $~lib/util/casemap/casemap i32.const 2097151 @@ -5762,16 +5894,16 @@ i32.const 65536 i32.lt_u if - local.get $5 - local.get $4 + local.get $9 + local.get $10 i32.const 1 i32.shl i32.add local.get $1 i32.store16 $0 else - local.get $5 - local.get $4 + local.get $9 + local.get $10 i32.const 1 i32.shl i32.add @@ -5792,40 +5924,40 @@ i32.shl i32.or i32.store $0 - local.get $4 + local.get $10 i32.const 1 i32.add - local.set $4 + local.set $10 end end end end end else - local.get $5 - local.get $4 + local.get $9 + local.get $10 i32.const 1 i32.shl i32.add - local.get $1 + local.get $4 i32.const 7084 i32.add i32.load8_u $0 i32.store16 $0 end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 - local.get $4 + local.set $2 + local.get $10 i32.const 1 i32.add - local.set $4 + local.set $10 br $for-loop|0 end end - local.get $5 - local.get $4 + local.get $9 + local.get $10 i32.const 1 i32.shl call $~lib/rt/itcms/__renew @@ -6189,146 +6321,18 @@ local.get $3 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 53848 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 21056 - i32.load $0 - i32.gt_u - if - i32.const 1280 - i32.const 1344 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 21060 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 - local.get $0 - local.get $1 local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/std/string-encoding.debug.wat b/tests/compiler/std/string-encoding.debug.wat index 0c99ae7df3..0e09cecec0 100644 --- a/tests/compiler/std/string-encoding.debug.wat +++ b/tests/compiler/std/string-encoding.debug.wat @@ -72,6 +72,7 @@ i32.const 20 i32.sub call $~lib/rt/common/OBJECT#get:rtSize + return ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this @@ -91,6 +92,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -103,12 +105,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -266,6 +270,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -285,6 +290,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -402,6 +408,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -577,22 +584,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -617,16 +627,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -722,18 +735,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -757,18 +773,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -778,12 +797,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -931,22 +953,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -991,16 +1016,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1055,10 +1083,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1174,6 +1205,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1356,6 +1388,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1590,6 +1623,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1668,6 +1702,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1683,6 +1718,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1773,16 +1809,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1815,16 +1854,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1838,46 +1880,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1914,10 +1963,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2037,30 +2089,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2131,6 +2189,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2143,6 +2202,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2205,6 +2265,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/string/String#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2213,6 +2274,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/string/String.UTF16.encodeUnsafe (type $i32_i32_i32_=>_i32) (param $str i32) (param $len i32) (param $buf i32) (result i32) (local $size i32) @@ -2225,18 +2287,21 @@ local.get $size memory.copy $0 $0 local.get $size + return ) (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.const 20 i32.sub call $~lib/rt/common/OBJECT#get:rtSize + return ) (func $~lib/string/String.UTF16.decode (type $i32_=>_i32) (param $buf i32) (result i32) local.get $buf local.get $buf call $~lib/arraybuffer/ArrayBuffer#get:byteLength call $~lib/string/String.UTF16.decodeUnsafe + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2340,6 +2405,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2382,6 +2448,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/string/String.UTF8.byteLength (type $i32_i32_=>_i32) (param $str i32) (param $nullTerminated i32) (result i32) (local $strOff i32) @@ -2483,6 +2550,7 @@ end end local.get $bufLen + return ) (func $~lib/string/String.UTF8.encodeUnsafe (type $i32_i32_i32_i32_i32_=>_i32) (param $str i32) (param $len i32) (param $buf i32) (param $nullTerminated i32) (param $errorMode i32) (result i32) (local $strEnd i32) @@ -2735,6 +2803,7 @@ local.get $bufOff local.get $buf i32.sub + return ) (func $~lib/string/String.UTF8.encode@varargs (type $i32_i32_i32_=>_i32) (param $str i32) (param $nullTerminated i32) (param $errorMode i32) (result i32) block $2of2 @@ -2807,6 +2876,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/string/String.UTF8.decode (type $i32_i32_=>_i32) (param $buf i32) (param $nullTerminated i32) (result i32) local.get $buf @@ -2814,6 +2884,7 @@ call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.get $nullTerminated call $~lib/string/String.UTF8.decodeUnsafe + return ) (func $~lib/rt/itcms/__collect (type $none_=>_none) i32.const 0 @@ -4716,6 +4787,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $2 + return ) (func $~lib/string/String.UTF16.decodeUnsafe (type $i32_i32_=>_i32) (param $buf i32) (param $len i32) (result i32) (local $str i32) @@ -4750,6 +4822,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/string/String.UTF8.encode (type $i32_i32_i32_=>_i32) (param $str i32) (param $nullTerminated i32) (param $errorMode i32) (result i32) (local $buf i32) @@ -4785,6 +4858,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $~lib/string/String.UTF8.decodeUnsafe (type $i32_i32_i32_=>_i32) (param $buf i32) (param $len i32) (param $nullTerminated i32) (result i32) (local $bufOff i32) @@ -5014,5 +5088,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $12 + return ) ) diff --git a/tests/compiler/std/string-encoding.release.wat b/tests/compiler/std/string-encoding.release.wat index ed172e830c..5ad98596a6 100644 --- a/tests/compiler/std/string-encoding.release.wat +++ b/tests/compiler/std/string-encoding.release.wat @@ -120,6 +120,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1216 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 55572 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1216 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1216 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 22784 + i32.load $0 + i32.gt_u + if + i32.const 1344 + i32.const 1408 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 22788 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -3990,146 +4122,18 @@ local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 55572 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 22784 - i32.load $0 - i32.gt_u - if - i32.const 1344 - i32.const 1408 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 22788 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/std/string-nonnull.debug.wat b/tests/compiler/std/string-nonnull.debug.wat index 59c2141602..6b3eea3096 100644 --- a/tests/compiler/std/string-nonnull.debug.wat +++ b/tests/compiler/std/string-nonnull.debug.wat @@ -29,6 +29,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -132,6 +133,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -174,12 +176,14 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/string/String.__ne (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) local.get $left local.get $right call $~lib/string/String.__eq i32.eqz + return ) (func $~lib/string/String.__not (type $i32_=>_i32) (param $str i32) (result i32) local.get $str @@ -192,6 +196,7 @@ call $~lib/string/String#get:length i32.eqz end + return ) (func $start:std/string-nonnull (type $none_=>_none) (local $s i32) diff --git a/tests/compiler/std/string.debug.wat b/tests/compiler/std/string.debug.wat index fcb437bd77..1d3c2fa232 100644 --- a/tests/compiler/std/string.debug.wat +++ b/tests/compiler/std/string.debug.wat @@ -559,6 +559,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -662,6 +663,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -704,6 +706,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/string/String#charCodeAt (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) local.get $pos @@ -720,6 +723,7 @@ i32.shl i32.add i32.load16_u $0 + return ) (func $~lib/string/String#codePointAt (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) (local $len i32) @@ -787,6 +791,7 @@ i32.add i32.const 65536 i32.add + return ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this @@ -806,6 +811,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -818,12 +824,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -981,6 +989,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -1000,6 +1009,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -1117,6 +1127,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -1292,22 +1303,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -1332,16 +1346,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -1437,18 +1454,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1472,18 +1492,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1493,12 +1516,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1646,22 +1672,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1706,16 +1735,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1770,10 +1802,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1889,6 +1924,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -2071,6 +2107,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -2305,6 +2342,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -2383,6 +2421,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -2398,6 +2437,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -2488,16 +2528,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -2530,16 +2573,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -2553,46 +2599,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2629,10 +2682,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2752,30 +2808,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2846,6 +2908,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2858,6 +2921,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2920,6 +2984,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/string/String#at (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) (local $len i32) @@ -2960,6 +3025,7 @@ i32.load16_u $0 i32.store16 $0 local.get $out + return ) (func $~lib/string/String.__not (type $i32_=>_i32) (param $str i32) (result i32) local.get $str @@ -2972,6 +3038,7 @@ call $~lib/string/String#get:length i32.eqz end + return ) (func $~lib/string/String.fromCharCode@varargs (type $i32_i32_=>_i32) (param $unit i32) (param $surr i32) (result i32) block $1of1 @@ -3005,6 +3072,7 @@ memory.copy $0 $0 end local.get $buffer + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -3081,6 +3149,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -3132,6 +3201,7 @@ local.get $searchLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/string/String#endsWith (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $end i32) (result i32) (local $3 i32) @@ -3178,6 +3248,7 @@ local.get $searchLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/string/String#endsWith@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $end i32) (result i32) block $1of1 @@ -3268,6 +3339,7 @@ end end i32.const -1 + return ) (func $~lib/string/String#includes (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) local.get $this @@ -3276,6 +3348,7 @@ call $~lib/string/String#indexOf i32.const -1 i32.ne + return ) (func $~lib/memory/memory.repeat (type $i32_i32_i32_i32_=>_none) (param $dst i32) (param $src i32) (param $srcLength i32) (param $count i32) (local $index i32) @@ -3374,6 +3447,7 @@ end end i32.const -1 + return ) (func $~lib/string/String#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) block $1of1 @@ -3443,6 +3517,7 @@ i32.const 0 i32.lt_s i32.sub + return ) (func $~lib/util/string/isSpace (type $i32_=>_i32) (param $c i32) (result i32) (local $1 i32) @@ -3529,6 +3604,7 @@ return end i32.const 0 + return ) (func $~lib/util/string/strtob (type $i32_=>_i32) (param $str i32) (result i32) (local $size i32) @@ -3609,6 +3685,7 @@ i64.load $0 i64.const 28429475166421108 i64.eq + return ) (func $~lib/util/string/strtol (type $i32_i32_=>_f64) (param $str i32) (param $radix i32) (result f64) (local $len i32) @@ -3917,11 +3994,13 @@ local.get $sign local.get $num f64.mul + return ) (func $~lib/string/parseInt (type $i32_i32_=>_f64) (param $str i32) (param $radix i32) (result f64) local.get $str local.get $radix call $~lib/util/string/strtol + return ) (func $~lib/math/ipow32 (type $i32_i32_=>_i32) (param $x i32) (param $e i32) (result i32) (local $out i32) @@ -4139,6 +4218,7 @@ end end local.get $out + return ) (func $~lib/math/NativeMath.scalbn (type $f64_i32_=>_f64) (param $x f64) (param $n i32) (result f64) (local $y f64) @@ -4232,6 +4312,7 @@ i64.shl f64.reinterpret_i64 f64.mul + return ) (func $~lib/util/string/strtod (type $i32_=>_f64) (param $str i32) (result f64) (local $len i32) @@ -4790,6 +4871,7 @@ local.get $sign|16 local.get $magnitude i32.mul + br $~lib/util/string/parseExp|inlined.0 end i32.add local.set $exp @@ -4838,16 +4920,19 @@ end if local.get $significandf - local.get $exp - i32.const 22 - i32.sub - local.set $n - i32.const 3648 - local.get $n - i32.const 3 - i32.shl - i32.add - f64.load $0 + block $~lib/util/string/pow10|inlined.0 (result f64) + local.get $exp + i32.const 22 + i32.sub + local.set $n + i32.const 3648 + local.get $n + i32.const 3 + i32.shl + i32.add + f64.load $0 + br $~lib/util/string/pow10|inlined.0 + end f64.mul local.set $significandf i32.const 22 @@ -4877,28 +4962,34 @@ i32.gt_s if local.get $significandf - local.get $exp - local.set $n|26 - i32.const 3648 - local.get $n|26 - i32.const 3 - i32.shl - i32.add - f64.load $0 + block $~lib/util/string/pow10|inlined.1 (result f64) + local.get $exp + local.set $n|26 + i32.const 3648 + local.get $n|26 + i32.const 3 + i32.shl + i32.add + f64.load $0 + br $~lib/util/string/pow10|inlined.1 + end f64.mul br $~lib/util/string/scientific|inlined.0 end local.get $significandf - i32.const 0 - local.get $exp - i32.sub - local.set $n|27 - i32.const 3648 - local.get $n|27 - i32.const 3 - i32.shl - i32.add - f64.load $0 + block $~lib/util/string/pow10|inlined.2 (result f64) + i32.const 0 + local.get $exp + i32.sub + local.set $n|27 + i32.const 3648 + local.get $n|27 + i32.const 3 + i32.shl + i32.add + f64.load $0 + br $~lib/util/string/pow10|inlined.2 + end f64.div br $~lib/util/string/scientific|inlined.0 else @@ -4906,184 +4997,260 @@ i32.const 0 i32.lt_s if - local.get $significand - local.set $significand|28 - local.get $exp - local.set $exp|29 - local.get $significand|28 - i64.clz - local.set $shift - local.get $significand|28 - local.get $shift - i64.shl - local.set $significand|28 - local.get $exp|29 - i64.extend_i32_s - local.get $shift - i64.sub - local.set $shift - loop $for-loop|6 + block $~lib/util/string/scaledown|inlined.0 (result f64) + local.get $significand + local.set $significand|28 + local.get $exp + local.set $exp|29 + local.get $significand|28 + i64.clz + local.set $shift + local.get $significand|28 + local.get $shift + i64.shl + local.set $significand|28 local.get $exp|29 - i32.const -14 - i32.le_s - if - local.get $significand|28 - i64.const 6103515625 - i64.div_u - local.set $q - local.get $significand|28 - i64.const 6103515625 - i64.rem_u - local.set $r - local.get $q - i64.clz - local.set $s - local.get $q - local.get $s - i64.shl - f64.const 0.00004294967296 - local.get $r - local.get $s - i64.const 18 - i64.sub - i64.shl - f64.convert_i64_u - f64.mul - f64.nearest - i64.trunc_sat_f64_u - i64.add - local.set $significand|28 - local.get $shift - local.get $s - i64.sub - local.set $shift + i64.extend_i32_s + local.get $shift + i64.sub + local.set $shift + loop $for-loop|6 local.get $exp|29 - i32.const 14 - i32.add - local.set $exp|29 - br $for-loop|6 + i32.const -14 + i32.le_s + if + local.get $significand|28 + i64.const 6103515625 + i64.div_u + local.set $q + local.get $significand|28 + i64.const 6103515625 + i64.rem_u + local.set $r + local.get $q + i64.clz + local.set $s + local.get $q + local.get $s + i64.shl + f64.const 0.00004294967296 + local.get $r + local.get $s + i64.const 18 + i64.sub + i64.shl + f64.convert_i64_u + f64.mul + f64.nearest + i64.trunc_sat_f64_u + i64.add + local.set $significand|28 + local.get $shift + local.get $s + i64.sub + local.set $shift + local.get $exp|29 + i32.const 14 + i32.add + local.set $exp|29 + br $for-loop|6 + end end + i32.const 5 + i32.const 0 + local.get $exp|29 + i32.sub + call $~lib/math/ipow32 + i64.extend_i32_s + local.set $b + local.get $significand|28 + local.get $b + i64.div_u + local.set $q|35 + local.get $significand|28 + local.get $b + i64.rem_u + local.set $r|36 + local.get $q|35 + i64.clz + local.set $s|37 + local.get $q|35 + local.get $s|37 + i64.shl + local.get $r|36 + f64.convert_i64_u + i64.reinterpret_f64 + local.get $s|37 + i64.const 52 + i64.shl + i64.add + f64.reinterpret_i64 + local.get $b + f64.convert_i64_u + f64.div + i64.trunc_sat_f64_u + i64.add + local.set $significand|28 + local.get $shift + local.get $s|37 + i64.sub + local.set $shift + local.get $significand|28 + f64.convert_i64_u + local.get $shift + i32.wrap_i64 + call $~lib/math/NativeMath.scalbn + br $~lib/util/string/scaledown|inlined.0 end - i32.const 5 - i32.const 0 - local.get $exp|29 - i32.sub - call $~lib/math/ipow32 - i64.extend_i32_s - local.set $b - local.get $significand|28 - local.get $b - i64.div_u - local.set $q|35 - local.get $significand|28 - local.get $b - i64.rem_u - local.set $r|36 - local.get $q|35 - i64.clz - local.set $s|37 - local.get $q|35 - local.get $s|37 - i64.shl - local.get $r|36 - f64.convert_i64_u - i64.reinterpret_f64 - local.get $s|37 - i64.const 52 - i64.shl - i64.add - f64.reinterpret_i64 - local.get $b - f64.convert_i64_u - f64.div - i64.trunc_sat_f64_u - i64.add - local.set $significand|28 - local.get $shift - local.get $s|37 - i64.sub - local.set $shift - local.get $significand|28 - f64.convert_i64_u - local.get $shift - i32.wrap_i64 - call $~lib/math/NativeMath.scalbn br $~lib/util/string/scientific|inlined.0 else - local.get $significand - local.set $significand|38 - local.get $exp - local.set $exp|39 - local.get $significand|38 - i64.ctz - local.set $shift|40 - local.get $significand|38 - local.get $shift|40 - i64.shr_u - local.set $significand|38 - local.get $shift|40 - local.get $exp|39 - i64.extend_i32_s - i64.add - local.set $shift|40 - local.get $shift|40 - global.set $~lib/util/string/__fixmulShift - loop $for-loop|7 + block $~lib/util/string/scaleup|inlined.0 (result f64) + local.get $significand + local.set $significand|38 + local.get $exp + local.set $exp|39 + local.get $significand|38 + i64.ctz + local.set $shift|40 + local.get $significand|38 + local.get $shift|40 + i64.shr_u + local.set $significand|38 + local.get $shift|40 local.get $exp|39 - i32.const 13 - i32.ge_s - if + i64.extend_i32_s + i64.add + local.set $shift|40 + local.get $shift|40 + global.set $~lib/util/string/__fixmulShift + loop $for-loop|7 + local.get $exp|39 + i32.const 13 + i32.ge_s + if + block $~lib/util/string/fixmul|inlined.0 (result i64) + local.get $significand|38 + local.set $a + i32.const 1220703125 + local.set $b|42 + local.get $a + i64.const 4294967295 + i64.and + local.get $b|42 + i64.extend_i32_u + i64.mul + local.set $low + local.get $a + i64.const 32 + i64.shr_u + local.get $b|42 + i64.extend_i32_u + i64.mul + local.get $low + i64.const 32 + i64.shr_u + i64.add + local.set $high + local.get $high + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $overflow + local.get $overflow + i32.clz + local.set $space + i64.const 32 + local.get $space + i64.extend_i32_u + i64.sub + local.set $revspace + global.get $~lib/util/string/__fixmulShift + local.get $revspace + i64.add + global.set $~lib/util/string/__fixmulShift + local.get $high + local.get $space + i64.extend_i32_u + i64.shl + local.get $low + i64.const 4294967295 + i64.and + local.get $revspace + i64.shr_u + i64.or + local.get $low + local.get $space + i64.extend_i32_u + i64.shl + i64.const 31 + i64.shr_u + i64.const 1 + i64.and + i64.add + br $~lib/util/string/fixmul|inlined.0 + end + local.set $significand|38 + local.get $exp|39 + i32.const 13 + i32.sub + local.set $exp|39 + br $for-loop|7 + end + end + block $~lib/util/string/fixmul|inlined.1 (result i64) local.get $significand|38 - local.set $a - i32.const 1220703125 - local.set $b|42 - local.get $a + local.set $a|48 + i32.const 5 + local.get $exp|39 + call $~lib/math/ipow32 + local.set $b|49 + local.get $a|48 i64.const 4294967295 i64.and - local.get $b|42 + local.get $b|49 i64.extend_i32_u i64.mul - local.set $low - local.get $a + local.set $low|50 + local.get $a|48 i64.const 32 i64.shr_u - local.get $b|42 + local.get $b|49 i64.extend_i32_u i64.mul - local.get $low + local.get $low|50 i64.const 32 i64.shr_u i64.add - local.set $high - local.get $high + local.set $high|51 + local.get $high|51 i64.const 32 i64.shr_u i32.wrap_i64 - local.set $overflow - local.get $overflow + local.set $overflow|52 + local.get $overflow|52 i32.clz - local.set $space + local.set $space|53 i64.const 32 - local.get $space + local.get $space|53 i64.extend_i32_u i64.sub - local.set $revspace + local.set $revspace|54 global.get $~lib/util/string/__fixmulShift - local.get $revspace + local.get $revspace|54 i64.add global.set $~lib/util/string/__fixmulShift - local.get $high - local.get $space + local.get $high|51 + local.get $space|53 i64.extend_i32_u i64.shl - local.get $low + local.get $low|50 i64.const 4294967295 i64.and - local.get $revspace + local.get $revspace|54 i64.shr_u i64.or - local.get $low - local.get $space + local.get $low|50 + local.get $space|53 i64.extend_i32_u i64.shl i64.const 31 @@ -5091,82 +5258,18 @@ i64.const 1 i64.and i64.add - local.set $significand|38 - local.get $exp|39 - i32.const 13 - i32.sub - local.set $exp|39 - br $for-loop|7 + br $~lib/util/string/fixmul|inlined.1 end + local.set $significand|38 + global.get $~lib/util/string/__fixmulShift + local.set $shift|40 + local.get $significand|38 + f64.convert_i64_u + local.get $shift|40 + i32.wrap_i64 + call $~lib/math/NativeMath.scalbn + br $~lib/util/string/scaleup|inlined.0 end - local.get $significand|38 - local.set $a|48 - i32.const 5 - local.get $exp|39 - call $~lib/math/ipow32 - local.set $b|49 - local.get $a|48 - i64.const 4294967295 - i64.and - local.get $b|49 - i64.extend_i32_u - i64.mul - local.set $low|50 - local.get $a|48 - i64.const 32 - i64.shr_u - local.get $b|49 - i64.extend_i32_u - i64.mul - local.get $low|50 - i64.const 32 - i64.shr_u - i64.add - local.set $high|51 - local.get $high|51 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $overflow|52 - local.get $overflow|52 - i32.clz - local.set $space|53 - i64.const 32 - local.get $space|53 - i64.extend_i32_u - i64.sub - local.set $revspace|54 - global.get $~lib/util/string/__fixmulShift - local.get $revspace|54 - i64.add - global.set $~lib/util/string/__fixmulShift - local.get $high|51 - local.get $space|53 - i64.extend_i32_u - i64.shl - local.get $low|50 - i64.const 4294967295 - i64.and - local.get $revspace|54 - i64.shr_u - i64.or - local.get $low|50 - local.get $space|53 - i64.extend_i32_u - i64.shl - i64.const 31 - i64.shr_u - i64.const 1 - i64.and - i64.add - local.set $significand|38 - global.get $~lib/util/string/__fixmulShift - local.set $shift|40 - local.get $significand|38 - f64.convert_i64_u - local.get $shift|40 - i32.wrap_i64 - call $~lib/math/NativeMath.scalbn br $~lib/util/string/scientific|inlined.0 end unreachable @@ -5175,15 +5278,18 @@ end local.get $sign f64.copysign + return ) (func $~lib/number/F32.parseFloat (type $i32_=>_f32) (param $value i32) (result f32) local.get $value call $~lib/util/string/strtod f32.demote_f64 + return ) (func $~lib/number/F64.parseFloat (type $i32_=>_f64) (param $value i32) (result f64) local.get $value call $~lib/util/string/strtod + return ) (func $~lib/util/string/strtol (type $i32_i32_=>_i32) (param $str i32) (param $radix i32) (result i32) (local $len i32) @@ -5490,11 +5596,13 @@ local.get $sign local.get $num i32.mul + return ) (func $~lib/number/I32.parseInt (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) local.get $value local.get $radix call $~lib/util/string/strtol + return ) (func $~lib/util/string/strtol (type $i32_i32_=>_i64) (param $str i32) (param $radix i32) (result i64) (local $len i32) @@ -5803,15 +5911,18 @@ local.get $sign local.get $num i64.mul + return ) (func $~lib/number/I64.parseInt (type $i32_i32_=>_i64) (param $value i32) (param $radix i32) (result i64) local.get $value local.get $radix call $~lib/util/string/strtol + return ) (func $~lib/string/parseFloat (type $i32_=>_f64) (param $str i32) (result f64) local.get $str call $~lib/util/string/strtod + return ) (func $~lib/object/Object.is (type $f64_f64_=>_i32) (param $x f64) (param $y f64) (result i32) i32.const 1 @@ -5839,12 +5950,14 @@ local.get $left local.get $right call $~lib/string/String#concat + return ) (func $~lib/string/String.__ne (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) local.get $left local.get $right call $~lib/string/String.__eq i32.eqz + return ) (func $~lib/string/String.__gt (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -5901,6 +6014,7 @@ local.get $rightLength i32.gt_s end + return ) (func $~lib/string/String.__lt (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $rightLength i32) @@ -5957,18 +6071,21 @@ local.get $rightLength i32.lt_s end + return ) (func $~lib/string/String.__gte (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) local.get $left local.get $right call $~lib/string/String.__lt i32.eqz + return ) (func $~lib/string/String.__lte (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) local.get $left local.get $right call $~lib/string/String.__gt i32.eqz + return ) (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -6018,6 +6135,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/string/String#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) block $1of1 @@ -6242,6 +6360,7 @@ local.get $len call $~lib/array/Array<~lib/string/String>#set:length_ local.get $len + return ) (func $~lib/string/String#split@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $separator i32) (param $limit i32) (result i32) block $2of2 @@ -6267,6 +6386,7 @@ (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array<~lib/string/String>#get:length_ + return ) (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) local.get $value @@ -6515,12 +6635,15 @@ (local $b64 i64) (local $b i64) (local $e i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -6582,6 +6705,7 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) @@ -7550,51 +7674,54 @@ local.get $buffer i32.const 101 i32.store16 $0 offset=2 - local.get $buffer - i32.const 4 - i32.add - local.set $buffer|8 - local.get $kk - i32.const 1 - i32.sub - local.set $k|9 - local.get $k|9 - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 0 - local.get $k|9 + block $~lib/util/number/genExponent|inlined.0 (result i32) + local.get $buffer + i32.const 4 + i32.add + local.set $buffer|8 + local.get $kk + i32.const 1 i32.sub local.set $k|9 + local.get $k|9 + i32.const 0 + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 0 + local.get $k|9 + i32.sub + local.set $k|9 + end + local.get $k|9 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 + local.set $num + local.get $decimals + local.set $offset|14 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|12 + local.get $num + local.get $offset|14 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|8 + i32.const 45 + i32.const 43 + local.get $sign + select + i32.store16 $0 + local.get $decimals + br $~lib/util/number/genExponent|inlined.0 end - local.get $k|9 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals - local.get $buffer|8 - local.set $buffer|12 - local.get $k|9 - local.set $num - local.get $decimals - local.set $offset|14 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|12 - local.get $num - local.get $offset|14 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|8 - i32.const 45 - i32.const 43 - local.get $sign - select - i32.store16 $0 - local.get $decimals local.set $length local.get $length i32.const 2 @@ -7624,53 +7751,56 @@ i32.const 101 i32.store16 $0 offset=2 local.get $length - local.get $buffer - local.get $len - i32.add - i32.const 4 - i32.add - local.set $buffer|16 - local.get $kk - i32.const 1 - i32.sub - local.set $k|17 - local.get $k|17 - i32.const 0 - i32.lt_s - local.set $sign|18 - local.get $sign|18 - if - i32.const 0 - local.get $k|17 + block $~lib/util/number/genExponent|inlined.1 (result i32) + local.get $buffer + local.get $len + i32.add + i32.const 4 + i32.add + local.set $buffer|16 + local.get $kk + i32.const 1 i32.sub local.set $k|17 + local.get $k|17 + i32.const 0 + i32.lt_s + local.set $sign|18 + local.get $sign|18 + if + i32.const 0 + local.get $k|17 + i32.sub + local.set $k|17 + end + local.get $k|17 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|16 + i32.const 45 + i32.const 43 + local.get $sign|18 + select + i32.store16 $0 + local.get $decimals|19 + br $~lib/util/number/genExponent|inlined.1 end - local.get $k|17 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals|19 - local.get $buffer|16 - local.set $buffer|20 - local.get $k|17 - local.set $num|21 - local.get $decimals|19 - local.set $offset|22 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|20 - local.get $num|21 - local.get $offset|22 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|16 - i32.const 45 - i32.const 43 - local.get $sign|18 - select - i32.store16 $0 - local.get $decimals|19 i32.add local.set $length local.get $length @@ -7759,375 +7889,393 @@ i32.const 45 i32.store16 $0 end - local.get $value - local.set $value|3 - local.get $buffer - local.set $buffer|4 - local.get $sign - local.set $sign|5 - local.get $value|3 - i64.reinterpret_f64 - local.set $uv - local.get $uv - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $exp - local.get $uv - i64.const 4503599627370495 - i64.and - local.set $sid - local.get $exp - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $sid - i64.add - local.set $frc - local.get $exp - i32.const 1 - local.get $exp - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $exp - local.get $frc - local.set $f - local.get $exp - local.set $e - local.get $f - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $frc|12 - local.get $e - i32.const 1 - i32.sub - local.set $exp|13 - local.get $frc|12 - i64.clz - i32.wrap_i64 - local.set $off - local.get $frc|12 - local.get $off - i64.extend_i32_s - i64.shl - local.set $frc|12 - local.get $exp|13 - local.get $off - i32.sub - local.set $exp|13 - i32.const 1 - local.get $f - i64.const 4503599627370496 - i64.eq - i32.add - local.set $m - local.get $frc|12 - global.set $~lib/util/number/_frc_plus - local.get $f - local.get $m - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $e - local.get $m - i32.sub - local.get $exp|13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $exp|13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $minExp - i32.const -61 - local.get $minExp - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $dk - local.get $dk - i32.trunc_sat_f64_s - local.set $k - local.get $k - local.get $k - f64.convert_i32_s - local.get $dk - f64.ne - i32.add - local.set $k - local.get $k - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.set $index - i32.const 348 - local.get $index - i32.const 3 - i32.shl - i32.sub - global.set $~lib/util/number/_K - i32.const 22376 - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - i32.const 23072 - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $frc - i64.clz - i32.wrap_i64 - local.set $off|20 - local.get $frc - local.get $off|20 - i64.extend_i32_s - i64.shl - local.set $frc - local.get $exp - local.get $off|20 - i32.sub - local.set $exp - global.get $~lib/util/number/_frc_pow - local.set $frc_pow - global.get $~lib/util/number/_exp_pow - local.set $exp_pow - local.get $frc - local.set $u - local.get $frc_pow - local.set $v - local.get $u - i64.const 4294967295 - i64.and - local.set $u0 - local.get $v - i64.const 4294967295 - i64.and - local.set $v0 - local.get $u - i64.const 32 - i64.shr_u - local.set $u1 - local.get $v - i64.const 32 - i64.shr_u - local.set $v1 - local.get $u0 - local.get $v0 - i64.mul - local.set $l - local.get $u1 - local.get $v0 - i64.mul - local.get $l - i64.const 32 - i64.shr_u - i64.add - local.set $t - local.get $u0 - local.get $v1 - i64.mul - local.get $t - i64.const 4294967295 - i64.and - i64.add - local.set $w - local.get $w - i64.const 2147483647 - i64.add - local.set $w - local.get $t - i64.const 32 - i64.shr_u - local.set $t - local.get $w - i64.const 32 - i64.shr_u - local.set $w - local.get $u1 - local.get $v1 - i64.mul - local.get $t - i64.add - local.get $w - i64.add - local.set $w_frc - local.get $exp - local.set $e1 - local.get $exp_pow - local.set $e2 - local.get $e1 - local.get $e2 - i32.add - i32.const 64 - i32.add - local.set $w_exp - global.get $~lib/util/number/_frc_plus - local.set $u|36 - local.get $frc_pow - local.set $v|37 - local.get $u|36 - i64.const 4294967295 - i64.and - local.set $u0|38 - local.get $v|37 - i64.const 4294967295 - i64.and - local.set $v0|39 - local.get $u|36 - i64.const 32 - i64.shr_u - local.set $u1|40 - local.get $v|37 - i64.const 32 - i64.shr_u - local.set $v1|41 - local.get $u0|38 - local.get $v0|39 - i64.mul - local.set $l|42 - local.get $u1|40 - local.get $v0|39 - i64.mul - local.get $l|42 - i64.const 32 - i64.shr_u - i64.add - local.set $t|43 - local.get $u0|38 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.const 4294967295 - i64.and - i64.add - local.set $w|44 - local.get $w|44 - i64.const 2147483647 - i64.add - local.set $w|44 - local.get $t|43 - i64.const 32 - i64.shr_u - local.set $t|43 - local.get $w|44 - i64.const 32 - i64.shr_u - local.set $w|44 - local.get $u1|40 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.add - local.get $w|44 - i64.add - i64.const 1 - i64.sub - local.set $wp_frc - global.get $~lib/util/number/_exp - local.set $e1|46 - local.get $exp_pow - local.set $e2|47 - local.get $e1|46 - local.get $e2|47 - i32.add - i32.const 64 - i32.add - local.set $wp_exp - global.get $~lib/util/number/_frc_minus - local.set $u|49 - local.get $frc_pow - local.set $v|50 - local.get $u|49 - i64.const 4294967295 - i64.and - local.set $u0|51 - local.get $v|50 - i64.const 4294967295 - i64.and - local.set $v0|52 - local.get $u|49 - i64.const 32 - i64.shr_u - local.set $u1|53 - local.get $v|50 - i64.const 32 - i64.shr_u - local.set $v1|54 - local.get $u0|51 - local.get $v0|52 - i64.mul - local.set $l|55 - local.get $u1|53 - local.get $v0|52 - i64.mul - local.get $l|55 - i64.const 32 - i64.shr_u - i64.add - local.set $t|56 - local.get $u0|51 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.const 4294967295 - i64.and - i64.add - local.set $w|57 - local.get $w|57 - i64.const 2147483647 - i64.add - local.set $w|57 - local.get $t|56 - i64.const 32 - i64.shr_u - local.set $t|56 - local.get $w|57 - i64.const 32 - i64.shr_u - local.set $w|57 - local.get $u1|53 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.add - local.get $w|57 - i64.add - i64.const 1 - i64.add - local.set $wm_frc - local.get $wp_frc - local.get $wm_frc - i64.sub - local.set $delta - local.get $buffer|4 - local.get $w_frc - local.get $w_exp - local.get $wp_frc - local.get $wp_exp - local.get $delta - local.get $sign|5 - call $~lib/util/number/genDigits + block $~lib/util/number/grisu2|inlined.0 (result i32) + local.get $value + local.set $value|3 + local.get $buffer + local.set $buffer|4 + local.get $sign + local.set $sign|5 + local.get $value|3 + i64.reinterpret_f64 + local.set $uv + local.get $uv + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv + i64.const 4503599627370495 + i64.and + local.set $sid + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid + i64.add + local.set $frc + local.get $exp + i32.const 1 + local.get $exp + select + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $exp + local.get $frc + local.set $f + local.get $exp + local.set $e + local.get $f + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $frc|12 + local.get $e + i32.const 1 + i32.sub + local.set $exp|13 + local.get $frc|12 + i64.clz + i32.wrap_i64 + local.set $off + local.get $frc|12 + local.get $off + i64.extend_i32_s + i64.shl + local.set $frc|12 + local.get $exp|13 + local.get $off + i32.sub + local.set $exp|13 + i32.const 1 + local.get $f + i64.const 4503599627370496 + i64.eq + i32.add + local.set $m + local.get $frc|12 + global.set $~lib/util/number/_frc_plus + local.get $f + local.get $m + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $e + local.get $m + i32.sub + local.get $exp|13 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $exp|13 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $minExp + i32.const -61 + local.get $minExp + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.set $dk + local.get $dk + i32.trunc_sat_f64_s + local.set $k + local.get $k + local.get $k + f64.convert_i32_s + local.get $dk + f64.ne + i32.add + local.set $k + local.get $k + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.set $index + i32.const 348 + local.get $index + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 22376 + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + global.set $~lib/util/number/_frc_pow + i32.const 23072 + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + global.set $~lib/util/number/_exp_pow + local.get $frc + i64.clz + i32.wrap_i64 + local.set $off|20 + local.get $frc + local.get $off|20 + i64.extend_i32_s + i64.shl + local.set $frc + local.get $exp + local.get $off|20 + i32.sub + local.set $exp + global.get $~lib/util/number/_frc_pow + local.set $frc_pow + global.get $~lib/util/number/_exp_pow + local.set $exp_pow + block $~lib/util/number/umul64f|inlined.0 (result i64) + local.get $frc + local.set $u + local.get $frc_pow + local.set $v + local.get $u + i64.const 4294967295 + i64.and + local.set $u0 + local.get $v + i64.const 4294967295 + i64.and + local.set $v0 + local.get $u + i64.const 32 + i64.shr_u + local.set $u1 + local.get $v + i64.const 32 + i64.shr_u + local.set $v1 + local.get $u0 + local.get $v0 + i64.mul + local.set $l + local.get $u1 + local.get $v0 + i64.mul + local.get $l + i64.const 32 + i64.shr_u + i64.add + local.set $t + local.get $u0 + local.get $v1 + i64.mul + local.get $t + i64.const 4294967295 + i64.and + i64.add + local.set $w + local.get $w + i64.const 2147483647 + i64.add + local.set $w + local.get $t + i64.const 32 + i64.shr_u + local.set $t + local.get $w + i64.const 32 + i64.shr_u + local.set $w + local.get $u1 + local.get $v1 + i64.mul + local.get $t + i64.add + local.get $w + i64.add + br $~lib/util/number/umul64f|inlined.0 + end + local.set $w_frc + block $~lib/util/number/umul64e|inlined.0 (result i32) + local.get $exp + local.set $e1 + local.get $exp_pow + local.set $e2 + local.get $e1 + local.get $e2 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.0 + end + local.set $w_exp + block $~lib/util/number/umul64f|inlined.1 (result i64) + global.get $~lib/util/number/_frc_plus + local.set $u|36 + local.get $frc_pow + local.set $v|37 + local.get $u|36 + i64.const 4294967295 + i64.and + local.set $u0|38 + local.get $v|37 + i64.const 4294967295 + i64.and + local.set $v0|39 + local.get $u|36 + i64.const 32 + i64.shr_u + local.set $u1|40 + local.get $v|37 + i64.const 32 + i64.shr_u + local.set $v1|41 + local.get $u0|38 + local.get $v0|39 + i64.mul + local.set $l|42 + local.get $u1|40 + local.get $v0|39 + i64.mul + local.get $l|42 + i64.const 32 + i64.shr_u + i64.add + local.set $t|43 + local.get $u0|38 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.const 4294967295 + i64.and + i64.add + local.set $w|44 + local.get $w|44 + i64.const 2147483647 + i64.add + local.set $w|44 + local.get $t|43 + i64.const 32 + i64.shr_u + local.set $t|43 + local.get $w|44 + i64.const 32 + i64.shr_u + local.set $w|44 + local.get $u1|40 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.add + local.get $w|44 + i64.add + br $~lib/util/number/umul64f|inlined.1 + end + i64.const 1 + i64.sub + local.set $wp_frc + block $~lib/util/number/umul64e|inlined.1 (result i32) + global.get $~lib/util/number/_exp + local.set $e1|46 + local.get $exp_pow + local.set $e2|47 + local.get $e1|46 + local.get $e2|47 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.1 + end + local.set $wp_exp + block $~lib/util/number/umul64f|inlined.2 (result i64) + global.get $~lib/util/number/_frc_minus + local.set $u|49 + local.get $frc_pow + local.set $v|50 + local.get $u|49 + i64.const 4294967295 + i64.and + local.set $u0|51 + local.get $v|50 + i64.const 4294967295 + i64.and + local.set $v0|52 + local.get $u|49 + i64.const 32 + i64.shr_u + local.set $u1|53 + local.get $v|50 + i64.const 32 + i64.shr_u + local.set $v1|54 + local.get $u0|51 + local.get $v0|52 + i64.mul + local.set $l|55 + local.get $u1|53 + local.get $v0|52 + i64.mul + local.get $l|55 + i64.const 32 + i64.shr_u + i64.add + local.set $t|56 + local.get $u0|51 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.const 4294967295 + i64.and + i64.add + local.set $w|57 + local.get $w|57 + i64.const 2147483647 + i64.add + local.set $w|57 + local.get $t|56 + i64.const 32 + i64.shr_u + local.set $t|56 + local.get $w|57 + i64.const 32 + i64.shr_u + local.set $w|57 + local.get $u1|53 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.add + local.get $w|57 + i64.add + br $~lib/util/number/umul64f|inlined.2 + end + i64.const 1 + i64.add + local.set $wm_frc + local.get $wp_frc + local.get $wm_frc + i64.sub + local.set $delta + local.get $buffer|4 + local.get $w_frc + local.get $w_exp + local.get $wp_frc + local.get $wp_exp + local.get $delta + local.get $sign|5 + call $~lib/util/number/genDigits + br $~lib/util/number/grisu2|inlined.0 + end local.set $len local.get $buffer local.get $sign @@ -8143,6 +8291,7 @@ local.get $len local.get $sign i32.add + return ) (func $~lib/rt/itcms/__collect (type $none_=>_none) i32.const 0 @@ -8192,6 +8341,7 @@ ) (func $std/string/getString (type $none_=>_i32) (result i32) global.get $std/string/str + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -8724,6 +8874,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $22 + return ) (func $start:std/string (type $none_=>_none) (local $0 i32) @@ -11173,12 +11324,15 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2128 - local.tee $6 - i32.store $0 offset=20 - local.get $6 - call $~lib/util/string/strtob + block $~lib/builtins/bool.parse|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 2128 + local.tee $6 + i32.store $0 offset=20 + local.get $6 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.0 + end i32.const 0 i32.ne i32.const 1 @@ -11192,12 +11346,15 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2176 - local.tee $7 - i32.store $0 offset=24 - local.get $7 - call $~lib/util/string/strtob + block $~lib/builtins/bool.parse|inlined.1 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 2176 + local.tee $7 + i32.store $0 offset=24 + local.get $7 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.1 + end i32.const 0 i32.ne i32.const 1 @@ -11211,12 +11368,15 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2224 - local.tee $8 - i32.store $0 offset=28 - local.get $8 - call $~lib/util/string/strtob + block $~lib/builtins/bool.parse|inlined.2 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 2224 + local.tee $8 + i32.store $0 offset=28 + local.get $8 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.2 + end i32.const 0 i32.ne i32.const 0 @@ -11230,12 +11390,15 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 688 - local.tee $9 - i32.store $0 offset=32 - local.get $9 - call $~lib/util/string/strtob + block $~lib/builtins/bool.parse|inlined.3 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 688 + local.tee $9 + i32.store $0 offset=32 + local.get $9 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.3 + end i32.const 0 i32.ne i32.const 0 @@ -11249,12 +11412,15 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2272 - local.tee $10 - i32.store $0 offset=36 - local.get $10 - call $~lib/util/string/strtob + block $~lib/builtins/bool.parse|inlined.4 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 2272 + local.tee $10 + i32.store $0 offset=36 + local.get $10 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.4 + end i32.const 0 i32.ne i32.const 0 @@ -11268,12 +11434,15 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2304 - local.tee $11 - i32.store $0 offset=40 - local.get $11 - call $~lib/util/string/strtob + block $~lib/builtins/bool.parse|inlined.5 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 2304 + local.tee $11 + i32.store $0 offset=40 + local.get $11 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.5 + end i32.const 0 i32.ne i32.const 0 @@ -11287,12 +11456,15 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2336 - local.tee $12 - i32.store $0 offset=44 - local.get $12 - call $~lib/util/string/strtob + block $~lib/builtins/bool.parse|inlined.6 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 2336 + local.tee $12 + i32.store $0 offset=44 + local.get $12 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.6 + end i32.const 0 i32.ne i32.const 0 @@ -11667,21 +11839,24 @@ call $~lib/builtins/abort unreachable end - i32.const 2944 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 0 - call $~lib/string/parseInt - local.set $13 - local.get $13 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.0 (result i32) + i32.const 2944 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 0 + call $~lib/string/parseInt + local.set $13 + local.get $13 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.0 + end i32.const 0 i32.ne i32.eqz @@ -12086,13 +12261,16 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3632 - local.tee $22 - i32.store $0 offset=48 - local.get $22 - call $~lib/util/string/strtod - f32.demote_f64 + block $~lib/builtins/f32.parse|inlined.0 (result f32) + global.get $~lib/memory/__stack_pointer + i32.const 3632 + local.tee $22 + i32.store $0 offset=48 + local.get $22 + call $~lib/util/string/strtod + f32.demote_f64 + br $~lib/builtins/f32.parse|inlined.0 + end local.tee $23 local.get $23 f32.ne @@ -12105,12 +12283,15 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3632 - local.tee $24 - i32.store $0 offset=52 - local.get $24 - call $~lib/util/string/strtod + block $~lib/builtins/f64.parse|inlined.0 (result f64) + global.get $~lib/memory/__stack_pointer + i32.const 3632 + local.tee $24 + i32.store $0 offset=52 + local.get $24 + call $~lib/util/string/strtod + br $~lib/builtins/f64.parse|inlined.0 + end local.tee $25 local.get $25 f64.ne @@ -12142,15 +12323,18 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3856 - local.tee $26 - i32.store $0 offset=56 - i32.const 0 - local.set $27 - local.get $26 - local.get $27 - call $~lib/util/string/strtol + block $~lib/builtins/i32.parse|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 3856 + local.tee $26 + i32.store $0 offset=56 + i32.const 0 + local.set $27 + local.get $26 + local.get $27 + call $~lib/util/string/strtol + br $~lib/builtins/i32.parse|inlined.0 + end global.get $~lib/number/I32.MAX_VALUE i32.eq i32.eqz @@ -12181,15 +12365,18 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3904 - local.tee $28 - i32.store $0 offset=60 - i32.const 0 - local.set $29 - local.get $28 - local.get $29 - call $~lib/util/string/strtol + block $~lib/builtins/i64.parse|inlined.0 (result i64) + global.get $~lib/memory/__stack_pointer + i32.const 3904 + local.tee $28 + i32.store $0 offset=60 + i32.const 0 + local.set $29 + local.get $28 + local.get $29 + call $~lib/util/string/strtol + br $~lib/builtins/i64.parse|inlined.0 + end global.get $~lib/number/I64.MAX_VALUE i64.eq i32.eqz @@ -24750,6 +24937,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/string/String.fromCharCode (type $i32_i32_=>_i32) (param $unit i32) (param $surr i32) (result i32) (local $hasSur i32) @@ -24791,6 +24979,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) (local $bufferSize i32) @@ -24843,6 +25032,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $~lib/string/String.fromCharCodes (type $i32_=>_i32) (param $units i32) (result i32) (local $length i32) @@ -24905,6 +25095,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 + return ) (func $~lib/string/String.fromCodePoint (type $i32_=>_i32) (param $code i32) (result i32) (local $hasSur i32) @@ -24982,6 +25173,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 + return ) (func $~lib/string/String#padStart (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $pad i32) (result i32) (local $thisSize i32) @@ -25092,6 +25284,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/string/String#padEnd (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $pad i32) (result i32) (local $thisSize i32) @@ -25206,6 +25399,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/string/String#trimStart (type $i32_=>_i32) (param $this i32) (result i32) (local $size i32) @@ -25295,6 +25489,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $~lib/string/String#trimEnd (type $i32_=>_i32) (param $this i32) (result i32) (local $originalSize i32) @@ -25379,6 +25574,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $~lib/string/String#trim (type $i32_=>_i32) (param $this i32) (result i32) (local $len i32) @@ -25501,6 +25697,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 + return ) (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) (local $thisSize i32) @@ -25566,6 +25763,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 + return ) (func $~lib/string/String#repeat (type $i32_i32_=>_i32) (param $this i32) (param $count i32) (result i32) (local $length i32) @@ -25662,6 +25860,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $~lib/string/String#replace (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $replacement i32) (result i32) (local $len i32) @@ -25793,6 +25992,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/string/String#replaceAll (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $replacement i32) (result i32) (local $thisLen i32) @@ -26171,6 +26371,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $19 + return ) (func $~lib/string/String#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $len i32) @@ -26287,6 +26488,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $13 + return ) (func $~lib/string/String#substr (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $length i32) (result i32) (local $intStart i32) @@ -26386,6 +26588,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $len i32) @@ -26529,6 +26732,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $22 + return ) (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value i32) @@ -26585,6 +26789,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $sign i32) @@ -26766,6 +26971,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/util/number/utoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $out i32) @@ -26912,6 +27118,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $12 + return ) (func $~lib/util/number/utoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) (local $out i32) @@ -27098,6 +27305,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $17 + return ) (func $~lib/util/number/itoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) (local $sign i32) @@ -27321,6 +27529,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $18 + return ) (func $~lib/util/number/dtoa (type $f64_=>_i32) (param $value f64) (result i32) (local $size i32) @@ -27404,5 +27613,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) ) diff --git a/tests/compiler/std/string.release.wat b/tests/compiler/std/string.release.wat index ef17dfddf5..32cbb9187d 100644 --- a/tests/compiler/std/string.release.wat +++ b/tests/compiler/std/string.release.wat @@ -6634,17 +6634,17 @@ i32.const 2 i32.shl i32.add - local.set $3 + local.set $2 loop $while-continue|0 local.get $1 - local.get $3 + local.get $2 i32.lt_u if local.get $1 i32.load $0 - local.tee $2 + local.tee $3 if - local.get $2 + local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__visit end local.get $1 @@ -6654,7 +6654,14 @@ br $while-continue|0 end end - br $folding-inner0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return end unreachable end @@ -6779,7 +6786,7 @@ local.get $5 i32.gt_s select - local.tee $2 + local.tee $1 i32.const 5 i32.const 0 call $~lib/rt/__newArray @@ -6789,11 +6796,11 @@ i32.load $0 offset=4 local.set $4 i32.const 0 - local.set $1 + local.set $2 loop $for-loop|0 local.get $1 local.get $2 - i32.lt_s + i32.gt_s if global.get $~lib/memory/__stack_pointer i32.const 2 @@ -6803,14 +6810,14 @@ i32.store $0 offset=12 local.get $5 local.get $0 - local.get $1 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_u $0 i32.store16 $0 local.get $4 - local.get $1 + local.get $2 i32.const 2 i32.shl i32.add @@ -6823,10 +6830,10 @@ i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end diff --git a/tests/compiler/std/symbol.debug.wat b/tests/compiler/std/symbol.debug.wat index 2c039f5156..2738e5f8b1 100644 --- a/tests/compiler/std/symbol.debug.wat +++ b/tests/compiler/std/symbol.debug.wat @@ -101,6 +101,7 @@ unreachable end local.get $id + return ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this @@ -120,6 +121,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -132,12 +134,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -295,6 +299,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -314,6 +319,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -431,6 +437,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -606,22 +613,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -646,16 +656,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -751,18 +764,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -786,18 +802,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -807,12 +826,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -960,22 +982,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1020,16 +1045,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1084,10 +1112,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1203,6 +1234,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1385,6 +1417,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1619,6 +1652,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1697,6 +1731,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1712,6 +1747,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1802,16 +1838,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1844,16 +1883,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1867,46 +1909,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1943,10 +1992,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2066,30 +2118,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2160,6 +2218,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2172,6 +2231,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2234,6 +2294,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2352,6 +2413,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/hash/HASH<~lib/string/String> (type $i32_=>_i32) (param $key i32) (result i32) (local $key|1 i32) @@ -2424,65 +2486,77 @@ local.get $end i32.le_u if - local.get $s1 - local.set $h|10 - local.get $pos - i32.load $0 - local.set $key|11 - local.get $h|10 - local.get $key|11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul + block $~lib/util/hash/mix|inlined.0 (result i32) + local.get $s1 + local.set $h|10 + local.get $pos + i32.load $0 + local.set $key|11 + local.get $h|10 + local.get $key|11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.0 + end local.set $s1 - local.get $s2 - local.set $h|12 - local.get $pos - i32.load $0 offset=4 - local.set $key|13 - local.get $h|12 - local.get $key|13 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul + block $~lib/util/hash/mix|inlined.1 (result i32) + local.get $s2 + local.set $h|12 + local.get $pos + i32.load $0 offset=4 + local.set $key|13 + local.get $h|12 + local.get $key|13 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.1 + end local.set $s2 - local.get $s3 - local.set $h|14 - local.get $pos - i32.load $0 offset=8 - local.set $key|15 - local.get $h|14 - local.get $key|15 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul + block $~lib/util/hash/mix|inlined.2 (result i32) + local.get $s3 + local.set $h|14 + local.get $pos + i32.load $0 offset=8 + local.set $key|15 + local.get $h|14 + local.get $key|15 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.2 + end local.set $s3 - local.get $s4 - local.set $h|16 - local.get $pos - i32.load $0 offset=12 - local.set $key|17 - local.get $h|16 - local.get $key|17 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul + block $~lib/util/hash/mix|inlined.3 (result i32) + local.get $s4 + local.set $h|16 + local.get $pos + i32.load $0 offset=12 + local.set $key|17 + local.get $h|16 + local.get $key|17 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.3 + end local.set $s4 local.get $pos i32.const 16 @@ -2604,6 +2678,7 @@ i32.xor local.set $h local.get $h + br $~lib/util/hash/hashStr|inlined.0 end return ) @@ -2725,6 +2800,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2767,6 +2843,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/map/Map<~lib/string/String,usize>#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) local.get $this @@ -2776,6 +2853,7 @@ call $~lib/map/Map<~lib/string/String,usize>#find i32.const 0 i32.ne + return ) (func $~lib/map/MapEntry<~lib/string/String,usize>#get:value (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2801,6 +2879,7 @@ end local.get $entry call $~lib/map/MapEntry<~lib/string/String,usize>#get:value + return ) (func $~lib/map/MapEntry<~lib/string/String,usize>#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -2878,7 +2957,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 12 + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -2889,7 +2971,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset - i32.const 12 + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -2941,12 +3026,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -3025,55 +3116,58 @@ i32.const 4 i32.le_u drop - local.get $key - local.set $key|1 - i32.const 4 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h + block $~lib/util/hash/hash32|inlined.0 (result i32) + local.get $key + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.0 + end return ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) @@ -3138,6 +3232,7 @@ end end i32.const 0 + return ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -3182,6 +3277,7 @@ call $~lib/map/Map#find i32.const 0 i32.ne + return ) (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) @@ -3203,11 +3299,13 @@ end local.get $entry call $~lib/map/MapEntry#get:value + return ) (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) local.get $left local.get $right call $~lib/string/String#concat + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -3303,7 +3401,10 @@ local.get $cur local.get $this call $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset - i32.const 12 + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.6 + end i32.mul i32.add local.set $end @@ -3334,7 +3435,10 @@ drop end local.get $cur - i32.const 12 + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.7 + end i32.add local.set $cur br $while-continue|0 @@ -3372,7 +3476,10 @@ local.get $cur local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end i32.mul i32.add local.set $end @@ -3403,7 +3510,10 @@ call $~lib/rt/itcms/__visit end local.get $cur - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end i32.add local.set $cur br $while-continue|0 @@ -3520,7 +3630,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -3618,6 +3731,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 + return ) (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) @@ -3659,7 +3773,10 @@ local.get $this i32.const 0 i32.const 4 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -3731,7 +3848,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries @@ -3742,7 +3862,10 @@ local.get $oldPtr local.get $this call $~lib/map/Map#get:entriesOffset - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end i32.mul i32.add local.set $oldEnd @@ -3797,12 +3920,18 @@ local.get $newPtr i32.store $0 local.get $newPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end i32.add local.set $newPtr end local.get $oldPtr - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end i32.add local.set $oldPtr br $while-continue|0 @@ -3905,6 +4034,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/symbol/_Symbol.keyFor (type $i32_=>_i32) (param $sym i32) (result i32) (local $1 i32) @@ -3942,6 +4072,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $~lib/symbol/_Symbol#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $id i32) @@ -4148,6 +4279,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $start:std/symbol (type $none_=>_none) (local $0 i32) @@ -4506,6 +4638,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/map/Map<~lib/string/String,usize>#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -4581,7 +4714,10 @@ i32.add call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset local.get $6 - i32.const 12 + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.5 + end i32.mul i32.add local.set $entry @@ -4630,6 +4766,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) @@ -4709,7 +4846,10 @@ i32.add call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 12 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end i32.mul i32.add local.set $entry @@ -4758,6 +4898,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $8 + return ) (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) (local $thisSize i32) @@ -4823,5 +4964,6 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 + return ) ) diff --git a/tests/compiler/std/symbol.release.wat b/tests/compiler/std/symbol.release.wat index 6b156a770e..acd8dbfaeb 100644 --- a/tests/compiler/std/symbol.release.wat +++ b/tests/compiler/std/symbol.release.wat @@ -1,12 +1,12 @@ (module (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $none_=>_none (func_subtype func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) + (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/symbol/nextId (mut i32) (i32.const 12)) (global $std/symbol/sym1 (mut i32) (i32.const 0)) @@ -2162,7 +2162,7 @@ local.tee $0 i32.add local.set $2 - loop $while-continue|06 + loop $while-continue|09 local.get $0 local.get $2 i32.lt_u @@ -2185,7 +2185,7 @@ i32.const 12 i32.add local.set $0 - br $while-continue|06 + br $while-continue|09 end end local.get $1 @@ -2510,7 +2510,6 @@ if local.get $4 local.get $7 - i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $4 @@ -2523,7 +2522,6 @@ if local.get $4 local.get $1 - i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $4 @@ -2559,9 +2557,7 @@ i32.const 1056 i32.store $0 local.get $4 - i32.const 1056 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $byn-split-outlined-A$~lib/rt/itcms/__link_0 local.get $0 local.get $3 i32.store $0 offset=4 @@ -2647,7 +2643,7 @@ i32.load $0 local.set $0 block $__inlined_func$~lib/map/Map#find - loop $while-continue|02 + loop $while-continue|00 local.get $0 if local.get $0 @@ -2668,7 +2664,7 @@ i32.const -2 i32.and local.set $0 - br $while-continue|02 + br $while-continue|00 end end i32.const 0 @@ -2680,9 +2676,7 @@ i32.const 1056 i32.store $0 offset=4 local.get $5 - i32.const 1056 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $byn-split-outlined-A$~lib/rt/itcms/__link_0 else local.get $5 i32.load $0 offset=16 @@ -2759,7 +2753,7 @@ local.set $10 local.get $1 local.set $0 - loop $while-continue|00 + loop $while-continue|01 local.get $2 local.get $10 i32.ne @@ -2833,7 +2827,7 @@ i32.const 12 i32.add local.set $2 - br $while-continue|00 + br $while-continue|01 end end local.get $5 @@ -2843,7 +2837,6 @@ if local.get $5 local.get $8 - i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $5 @@ -2856,7 +2849,6 @@ if local.get $5 local.get $1 - i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $5 @@ -2895,9 +2887,7 @@ i32.const 1056 i32.store $0 offset=4 local.get $5 - i32.const 1056 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $byn-split-outlined-A$~lib/rt/itcms/__link_0 local.get $5 local.get $5 i32.load $0 offset=20 @@ -3412,7 +3402,6 @@ if local.get $0 local.get $1 - i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -3431,7 +3420,6 @@ if local.get $0 local.get $1 - i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -3480,7 +3468,6 @@ if local.get $0 local.get $1 - i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -3499,7 +3486,6 @@ if local.get $0 local.get $1 - i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $0 @@ -3825,8 +3811,7 @@ global.set $~lib/rt/itcms/visitCount end ) - (func $byn-split-outlined-A$~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $byn-split-outlined-A$~lib/rt/itcms/__link (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 i32.eqz if @@ -3850,25 +3835,21 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and - local.tee $3 + local.tee $0 global.get $~lib/rt/itcms/white i32.eqz i32.eq if - 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 $0 i32.const 3 i32.eq i32.and @@ -3879,4 +3860,52 @@ end end ) + (func $byn-split-outlined-A$~lib/rt/itcms/__link_0 (type $i32_=>_none) (param $0 i32) + (local $1 i32) + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1200 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + i32.const 1040 + i32.load $0 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load $0 offset=4 + i32.const 3 + i32.and + local.tee $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $1 + i32.const 3 + i32.eq + i32.and + if + i32.const 1036 + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) ) diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index b7fa0c3f02..5aca8b1077 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -430,6 +430,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -442,12 +443,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -605,6 +608,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -624,6 +628,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -741,6 +746,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -916,22 +922,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -956,16 +965,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -1061,18 +1073,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1096,18 +1111,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1117,12 +1135,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1270,22 +1291,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1330,16 +1354,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1394,10 +1421,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1513,6 +1543,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1695,6 +1726,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1929,6 +1961,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -2007,6 +2040,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -2022,6 +2056,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -2112,16 +2147,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -2154,16 +2192,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -2177,46 +2218,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2253,10 +2301,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2376,30 +2427,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2470,6 +2527,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2482,6 +2540,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2544,6 +2603,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2646,6 +2706,7 @@ local.get $this call $~lib/arraybuffer/ArrayBufferView#get:buffer i32.sub + return ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2654,62 +2715,73 @@ (func $~lib/typedarray/Int8Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/arraybuffer/ArrayBufferView#get:byteLength + return ) (func $~lib/typedarray/Uint8Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/arraybuffer/ArrayBufferView#get:byteLength + return ) (func $~lib/typedarray/Uint8ClampedArray#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/arraybuffer/ArrayBufferView#get:byteLength + return ) (func $~lib/typedarray/Int16Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 i32.shr_u + return ) (func $~lib/typedarray/Uint16Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 i32.shr_u + return ) (func $~lib/typedarray/Int32Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 i32.shr_u + return ) (func $~lib/typedarray/Uint32Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 i32.shr_u + return ) (func $~lib/typedarray/Int64Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 i32.shr_u + return ) (func $~lib/typedarray/Uint64Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 i32.shr_u + return ) (func $~lib/typedarray/Float32Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 i32.shr_u + return ) (func $~lib/typedarray/Float64Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 i32.shr_u + return ) (func $std/typedarray/testInstantiate (type $i32_=>_none) (param $len i32) (local $i8a i32) @@ -3300,6 +3372,7 @@ i32.shl i32.add i32.load $0 + return ) (func $~lib/typedarray/Float64Array#__set (type $i32_i32_f64_=>_none) (param $this i32) (param $index i32) (param $value f64) local.get $index @@ -3659,6 +3732,7 @@ end end local.get $j + return ) (func $~lib/util/sort/nodePower (type $i32_i32_i32_i32_i32_=>_i32) (param $left i32) (param $right i32) (param $startA i32) (param $startB i32) (param $endB i32) (result i32) (local $n i64) @@ -3709,6 +3783,7 @@ i64.xor i32.wrap_i64 i32.clz + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -4002,12 +4077,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.0 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.0 + end i32.const 2 i32.add local.set $lgPlus2 @@ -4267,6 +4345,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f64_f64_=>_i32) (param $a f64) (param $b f64) (result i32) (local $ia i64) @@ -4300,6 +4379,7 @@ local.get $ib i64.lt_s i32.sub + return ) (func $~lib/typedarray/Float64Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) local.get $index @@ -4323,6 +4403,7 @@ i32.shl i32.add f64.load $0 + return ) (func $~lib/typedarray/Uint8ClampedArray#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $index @@ -4374,6 +4455,7 @@ local.get $index i32.add i32.load8_u $0 + return ) (func $~lib/typedarray/Int8Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $index @@ -4482,6 +4564,7 @@ local.get $end call $~lib/util/bytes/FILL local.get $this + return ) (func $~lib/rt/__newBuffer (type $i32_i32_i32_=>_i32) (param $size i32) (param $id i32) (param $data i32) (result i32) (local $buffer i32) @@ -4497,6 +4580,7 @@ memory.copy $0 $0 end local.get $buffer + return ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -4505,6 +4589,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/typedarray/Int8Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) local.get $index @@ -4524,6 +4609,7 @@ local.get $index i32.add i32.load8_s $0 + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -4554,6 +4640,7 @@ i32.const 0 drop local.get $value + return ) (func $std/typedarray/isInt8ArrayEqual (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $i i32) @@ -4596,6 +4683,7 @@ end end i32.const 1 + return ) (func $~lib/typedarray/Int8Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) block $2of2 @@ -4747,6 +4835,7 @@ local.get $end call $~lib/util/bytes/FILL local.get $this + return ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -4755,6 +4844,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -4785,6 +4875,7 @@ i32.const 0 drop local.get $value + return ) (func $std/typedarray/isInt32ArrayEqual (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $i i32) @@ -4827,6 +4918,7 @@ end end i32.const 1 + return ) (func $~lib/typedarray/Int32Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) block $2of2 @@ -4900,132 +4992,136 @@ (local $27 i32) (local $28 i32) (local $count i32) - local.get $this - local.set $array - local.get $target - local.set $target|5 - local.get $start - local.set $start|6 - local.get $end - local.set $end|7 - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $end|7 - local.tee $10 - local.get $len - local.tee $11 - local.get $10 - local.get $11 - i32.lt_s - select - local.set $end|7 - local.get $target|5 - i32.const 0 - i32.lt_s - if (result i32) + block $~lib/typedarray/COPY_WITHIN<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $target + local.set $target|5 + local.get $start + local.set $start|6 + local.get $end + local.set $end|7 + local.get $array + call $~lib/typedarray/Int32Array#get:length + local.set $len + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $end|7 + local.tee $10 local.get $len - local.get $target|5 - i32.add - local.tee $12 - i32.const 0 - local.tee $13 - local.get $12 - local.get $13 - i32.gt_s + local.tee $11 + local.get $10 + local.get $11 + i32.lt_s select - else + local.set $end|7 local.get $target|5 - local.tee $14 - local.get $len - local.tee $15 - local.get $14 - local.get $15 + i32.const 0 i32.lt_s - select - end - local.set $to - local.get $start|6 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + if (result i32) + local.get $len + local.get $target|5 + i32.add + local.tee $12 + i32.const 0 + local.tee $13 + local.get $12 + local.get $13 + i32.gt_s + select + else + local.get $target|5 + local.tee $14 + local.get $len + local.tee $15 + local.get $14 + local.get $15 + i32.lt_s + select + end + local.set $to local.get $start|6 - i32.add - local.tee $17 i32.const 0 - local.tee $18 - local.get $17 - local.get $18 - i32.gt_s - select - else - local.get $start|6 - local.tee $19 - local.get $len - local.tee $20 - local.get $19 - local.get $20 i32.lt_s - select - end - local.set $from - local.get $end|7 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + if (result i32) + local.get $len + local.get $start|6 + i32.add + local.tee $17 + i32.const 0 + local.tee $18 + local.get $17 + local.get $18 + i32.gt_s + select + else + local.get $start|6 + local.tee $19 + local.get $len + local.tee $20 + local.get $19 + local.get $20 + i32.lt_s + select + end + local.set $from local.get $end|7 - i32.add - local.tee $22 i32.const 0 - local.tee $23 - local.get $22 - local.get $23 - i32.gt_s - select - else - local.get $end|7 - local.tee $24 + i32.lt_s + if (result i32) + local.get $len + local.get $end|7 + i32.add + local.tee $22 + i32.const 0 + local.tee $23 + local.get $22 + local.get $23 + i32.gt_s + select + else + local.get $end|7 + local.tee $24 + local.get $len + local.tee $25 + local.get $24 + local.get $25 + i32.lt_s + select + end + local.set $last + local.get $last + local.get $from + i32.sub + local.tee $27 local.get $len - local.tee $25 - local.get $24 - local.get $25 + local.get $to + i32.sub + local.tee $28 + local.get $27 + local.get $28 i32.lt_s select + local.set $count + local.get $ptr + local.get $to + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $from + i32.const 2 + i32.shl + i32.add + local.get $count + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $array + br $~lib/typedarray/COPY_WITHIN<~lib/typedarray/Int32Array,i32>|inlined.0 end - local.set $last - local.get $last - local.get $from - i32.sub - local.tee $27 - local.get $len - local.get $to - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $count - local.get $ptr - local.get $to - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $from - i32.const 2 - i32.shl - i32.add - local.get $count - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $array + return ) (func $~lib/typedarray/Int32Array#copyWithin@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) block $1of1 @@ -5059,48 +5155,52 @@ (local $ptr i32) (local $i i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int8Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + call $~lib/typedarray/Int8Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0 end - local.get $initialValue|5 + return ) (func $~lib/typedarray/Uint8Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $index @@ -5134,48 +5234,52 @@ (local $ptr i32) (local $i i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + call $~lib/typedarray/Uint8Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc @@ -5189,48 +5293,52 @@ (local $ptr i32) (local $i i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 end - local.get $initialValue|5 + return ) (func $~lib/typedarray/Int16Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $index @@ -5268,48 +5376,52 @@ (local $ptr i32) (local $i i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int16Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + call $~lib/typedarray/Int16Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0 end - local.get $initialValue|5 + return ) (func $~lib/typedarray/Uint16Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $index @@ -5347,48 +5459,52 @@ (local $ptr i32) (local $i i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + call $~lib/typedarray/Uint16Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc @@ -5402,48 +5518,52 @@ (local $ptr i32) (local $i i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + call $~lib/typedarray/Int32Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0 end - local.get $initialValue|5 + return ) (func $~lib/typedarray/Uint32Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $index @@ -5481,48 +5601,52 @@ (local $ptr i32) (local $i i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint32Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + call $~lib/typedarray/Uint32Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 end - local.get $initialValue|5 + return ) (func $~lib/typedarray/Int64Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) local.get $index @@ -5560,48 +5684,52 @@ (local $ptr i32) (local $i i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int64Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0 (result i64) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + call $~lib/typedarray/Int64Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0 end - local.get $initialValue|5 + return ) (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) local.get $index @@ -5639,48 +5767,52 @@ (local $ptr i32) (local $i i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 (result i64) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + call $~lib/typedarray/Uint64Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 end - local.get $initialValue|5 + return ) (func $~lib/typedarray/Float32Array#__set (type $i32_i32_f32_=>_none) (param $this i32) (param $index i32) (param $value f32) local.get $index @@ -5718,48 +5850,52 @@ (local $ptr i32) (local $i i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Float32Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $f32_f32_i32_i32_=>_f32) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0 (result f32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + call $~lib/typedarray/Float32Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $f32_f32_i32_i32_=>_f32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_f64_i32_i32_=>_f64) (param $acc f64) (param $val f64) (param $$2 i32) (param $$3 i32) (result f64) local.get $acc @@ -5773,48 +5909,52 @@ (local $ptr i32) (local $i i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $f64_f64_i32_i32_=>_f64) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0 (result f64) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + call $~lib/typedarray/Float64Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $f64_f64_i32_i32_=>_f64) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0 end - local.get $initialValue|5 + return ) (func $~lib/typedarray/Int8Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $len i32) @@ -5846,6 +5986,7 @@ local.get $index i32.add i32.load8_s $0 + return ) (func $std/typedarray/testAt<~lib/typedarray/Int8Array,i8> (type $none_=>_none) (local $array i32) @@ -5952,6 +6093,7 @@ local.get $index i32.add i32.load8_u $0 + return ) (func $std/typedarray/testAt<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) (local $array i32) @@ -6058,6 +6200,7 @@ local.get $index i32.add i32.load8_u $0 + return ) (func $std/typedarray/testAt<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) (local $array i32) @@ -6168,6 +6311,7 @@ i32.shl i32.add i32.load16_s $0 + return ) (func $std/typedarray/testAt<~lib/typedarray/Int16Array,i16> (type $none_=>_none) (local $array i32) @@ -6278,6 +6422,7 @@ i32.shl i32.add i32.load16_u $0 + return ) (func $std/typedarray/testAt<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) (local $array i32) @@ -6388,6 +6533,7 @@ i32.shl i32.add i32.load $0 + return ) (func $std/typedarray/testAt<~lib/typedarray/Int32Array,i32> (type $none_=>_none) (local $array i32) @@ -6498,6 +6644,7 @@ i32.shl i32.add i32.load $0 + return ) (func $std/typedarray/testAt<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) (local $array i32) @@ -6608,6 +6755,7 @@ i32.shl i32.add i64.load $0 + return ) (func $std/typedarray/testAt<~lib/typedarray/Int64Array,i64> (type $none_=>_none) (local $array i32) @@ -6718,6 +6866,7 @@ i32.shl i32.add i64.load $0 + return ) (func $std/typedarray/testAt<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) (local $array i32) @@ -6828,6 +6977,7 @@ i32.shl i32.add f32.load $0 + return ) (func $std/typedarray/testAt<~lib/typedarray/Float32Array,f32> (type $none_=>_none) (local $array i32) @@ -6938,6 +7088,7 @@ i32.shl i32.add f64.load $0 + return ) (func $std/typedarray/testAt<~lib/typedarray/Float64Array,f64> (type $none_=>_none) (local $array i32) @@ -7025,48 +7176,52 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Int8Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + call $~lib/typedarray/Int8Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.ge_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc @@ -7079,48 +7234,52 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint8Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + call $~lib/typedarray/Uint8Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.ge_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc @@ -7133,48 +7292,52 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.ge_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc @@ -7187,48 +7350,52 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Int16Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + call $~lib/typedarray/Int16Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.const 0 + i32.ge_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc @@ -7241,48 +7408,52 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint16Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + call $~lib/typedarray/Uint16Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.const 0 + i32.ge_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc @@ -7295,48 +7466,52 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Int32Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.const 0 + i32.ge_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc @@ -7349,48 +7524,52 @@ (local $initialValue|5 i32) (local $ptr i32) (local $i i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint32Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + call $~lib/typedarray/Uint32Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.const 0 + i32.ge_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i64_i32_i32_=>_i64) (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) local.get $acc @@ -7403,48 +7582,52 @@ (local $initialValue|5 i64) (local $ptr i32) (local $i i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Int64Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0 (result i64) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + call $~lib/typedarray/Int64Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.const 0 + i32.ge_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i64_i32_i32_=>_i64) (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) local.get $acc @@ -7457,48 +7640,52 @@ (local $initialValue|5 i64) (local $ptr i32) (local $i i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint64Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 (result i64) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + call $~lib/typedarray/Uint64Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.const 0 + i32.ge_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_f32_i32_i32_=>_f32) (param $acc f32) (param $val f32) (param $$2 i32) (param $$3 i32) (result f32) local.get $acc @@ -7511,48 +7698,52 @@ (local $initialValue|5 f32) (local $ptr i32) (local $i i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Float32Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $f32_f32_i32_i32_=>_f32) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0 (result f32) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + call $~lib/typedarray/Float32Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.const 0 + i32.ge_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $f32_f32_i32_i32_=>_f32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_f64_i32_i32_=>_f64) (param $acc f64) (param $val f64) (param $$2 i32) (param $$3 i32) (result f64) local.get $acc @@ -7565,48 +7756,52 @@ (local $initialValue|5 f64) (local $ptr i32) (local $i i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Float64Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $f64_f64_i32_i32_=>_f64) - local.set $initialValue|5 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0 (result f64) + local.get $this + local.set $array + local.get $fn + local.set $fn|4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + call $~lib/typedarray/Float64Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.const 0 + i32.ge_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $i + local.get $array + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $f64_f64_i32_i32_=>_f64) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0 end - local.get $initialValue|5 + return ) (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -7636,6 +7831,7 @@ local.get $index i32.add i32.load8_u $0 + return ) (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -7669,6 +7865,7 @@ i32.shl i32.add i32.load16_s $0 + return ) (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -7697,6 +7894,7 @@ i32.shl i32.add i32.load16_u $0 + return ) (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -7730,6 +7928,7 @@ i32.shl i32.add i32.load $0 + return ) (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i64) (param $value i64) (param $$1 i32) (param $$2 i32) (result i64) local.get $value @@ -7758,6 +7957,7 @@ i32.shl i32.add i64.load $0 + return ) (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i64) (param $value i64) (param $$1 i32) (param $$2 i32) (result i64) local.get $value @@ -7786,6 +7986,7 @@ i32.shl i32.add i64.load $0 + return ) (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_f32) (param $value f32) (param $$1 i32) (param $$2 i32) (result f32) local.get $value @@ -7814,6 +8015,7 @@ i32.shl i32.add f32.load $0 + return ) (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_f64) (param $value f64) (param $$1 i32) (param $$2 i32) (result f64) local.get $value @@ -7874,6 +8076,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -7987,7 +8190,9 @@ end end i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 end + return ) (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8051,7 +8256,9 @@ end end i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 end + return ) (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8116,7 +8323,9 @@ end end i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end + return ) (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8180,7 +8389,9 @@ end end i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 end + return ) (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8244,7 +8455,9 @@ end end i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 end + return ) (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8307,7 +8520,9 @@ end end i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 end + return ) (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8368,7 +8583,9 @@ end end i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 end + return ) (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8429,7 +8646,9 @@ end end i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 end + return ) (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8490,7 +8709,9 @@ end end i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 end + return ) (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8551,7 +8772,9 @@ end end i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 end + return ) (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8612,7 +8835,9 @@ end end i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 end + return ) (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8674,7 +8899,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 end + return ) (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8738,7 +8965,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 end + return ) (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8803,7 +9032,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end + return ) (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8867,7 +9098,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 end + return ) (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8931,7 +9164,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 end + return ) (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -8994,7 +9229,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 end + return ) (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9055,7 +9292,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 end + return ) (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9116,7 +9355,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 end + return ) (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9177,7 +9418,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 end + return ) (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9238,7 +9481,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 end + return ) (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9299,7 +9544,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 end + return ) (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9360,7 +9607,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 end + return ) (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9423,7 +9672,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 end + return ) (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9487,7 +9738,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end + return ) (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9550,7 +9803,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 end + return ) (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9613,7 +9868,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 end + return ) (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9675,7 +9932,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 end + return ) (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9735,7 +9994,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 end + return ) (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9795,7 +10056,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 end + return ) (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9855,7 +10118,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 end + return ) (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9915,7 +10180,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 end + return ) (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -9975,7 +10242,9 @@ end end i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 end + return ) (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -10042,7 +10311,9 @@ end end i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 end + return ) (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -10111,7 +10382,9 @@ end end i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 end + return ) (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -10181,7 +10454,9 @@ end end i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end + return ) (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -10250,7 +10525,9 @@ end end i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 end + return ) (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -10319,7 +10596,9 @@ end end i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 end + return ) (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -10387,7 +10666,9 @@ end end i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 end + return ) (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -10453,7 +10734,9 @@ end end i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 end + return ) (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -10519,7 +10802,9 @@ end end i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 end + return ) (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -10585,7 +10870,9 @@ end end i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 end + return ) (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -10839,6 +11126,7 @@ local.get $sm i32.or f32.reinterpret_i32 + return ) (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -10899,7 +11187,9 @@ end end i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 end + return ) (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -11159,6 +11449,7 @@ i64.shl i64.or f64.reinterpret_i64 + return ) (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -11219,7 +11510,9 @@ end end i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 end + return ) (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -11881,6 +12174,7 @@ call $~lib/typedarray/Int8Array#get:length call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/typedarray/Uint8Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -11889,6 +12183,7 @@ call $~lib/typedarray/Uint8Array#get:length call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/typedarray/Uint8ClampedArray#reverse (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -11897,6 +12192,7 @@ call $~lib/typedarray/Uint8ClampedArray#get:length call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) (local $i i32) @@ -12025,6 +12321,7 @@ call $~lib/typedarray/Int16Array#get:length call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/typedarray/Uint16Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -12033,6 +12330,7 @@ call $~lib/typedarray/Uint16Array#get:length call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) (local $i i32) @@ -12112,6 +12410,7 @@ call $~lib/typedarray/Int32Array#get:length call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/typedarray/Uint32Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -12120,6 +12419,7 @@ call $~lib/typedarray/Uint32Array#get:length call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) (local $i i32) @@ -12199,6 +12499,7 @@ call $~lib/typedarray/Int64Array#get:length call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/typedarray/Uint64Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -12207,6 +12508,7 @@ call $~lib/typedarray/Uint64Array#get:length call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) (local $i i32) @@ -12286,6 +12588,7 @@ call $~lib/typedarray/Float32Array#get:length call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) (local $i i32) @@ -12365,6 +12668,7 @@ call $~lib/typedarray/Float64Array#get:length call $~lib/util/bytes/REVERSE local.get $this + return ) (func $~lib/typedarray/Int8Array#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) (local $array i32) @@ -12446,7 +12750,9 @@ end end i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 end + return ) (func $~lib/typedarray/Int8Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) (local $array i32) @@ -12522,7 +12828,9 @@ end end i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 end + return ) (func $~lib/typedarray/Int8Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) block $1of1 @@ -13107,7 +13415,9 @@ end end i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 end + return ) (func $~lib/typedarray/Uint8Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) (local $array i32) @@ -13184,7 +13494,9 @@ end end i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 end + return ) (func $~lib/typedarray/Uint8Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) block $1of1 @@ -13770,7 +14082,9 @@ end end i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end + return ) (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) (local $array i32) @@ -13847,7 +14161,9 @@ end end i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end + return ) (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) block $1of1 @@ -14432,7 +14748,9 @@ end end i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 end + return ) (func $~lib/typedarray/Int16Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) (local $array i32) @@ -14508,7 +14826,9 @@ end end i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 end + return ) (func $~lib/typedarray/Int16Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) block $1of1 @@ -15093,7 +15413,9 @@ end end i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 end + return ) (func $~lib/typedarray/Uint16Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) (local $array i32) @@ -15170,7 +15492,9 @@ end end i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 end + return ) (func $~lib/typedarray/Uint16Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) block $1of1 @@ -15754,7 +16078,9 @@ end end i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 end + return ) (func $~lib/typedarray/Int32Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) (local $array i32) @@ -15829,7 +16155,9 @@ end end i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 end + return ) (func $~lib/typedarray/Int32Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) block $1of1 @@ -16411,7 +16739,9 @@ end end i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 end + return ) (func $~lib/typedarray/Uint32Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) (local $array i32) @@ -16486,7 +16816,9 @@ end end i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 end + return ) (func $~lib/typedarray/Uint32Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) block $1of1 @@ -17068,7 +17400,9 @@ end end i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 end + return ) (func $~lib/typedarray/Int64Array#lastIndexOf (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex i32) (result i32) (local $array i32) @@ -17143,7 +17477,9 @@ end end i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 end + return ) (func $~lib/typedarray/Int64Array#lastIndexOf@varargs (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex i32) (result i32) block $1of1 @@ -17726,7 +18062,9 @@ end end i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 end + return ) (func $~lib/typedarray/Uint64Array#lastIndexOf (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex i32) (result i32) (local $array i32) @@ -17801,7 +18139,9 @@ end end i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 end + return ) (func $~lib/typedarray/Uint64Array#lastIndexOf@varargs (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex i32) (result i32) block $1of1 @@ -18384,7 +18724,9 @@ end end i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 end + return ) (func $~lib/typedarray/Float32Array#lastIndexOf (type $i32_f32_i32_=>_i32) (param $this i32) (param $searchElement f32) (param $fromIndex i32) (result i32) (local $array i32) @@ -18459,7 +18801,9 @@ end end i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 end + return ) (func $~lib/typedarray/Float32Array#lastIndexOf@varargs (type $i32_f32_i32_=>_i32) (param $this i32) (param $searchElement f32) (param $fromIndex i32) (result i32) block $1of1 @@ -19042,7 +19386,9 @@ end end i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 end + return ) (func $~lib/typedarray/Float64Array#lastIndexOf (type $i32_f64_i32_=>_i32) (param $this i32) (param $searchElement f64) (param $fromIndex i32) (result i32) (local $array i32) @@ -19117,7 +19463,9 @@ end end i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 end + return ) (func $~lib/typedarray/Float64Array#lastIndexOf@varargs (type $i32_f64_i32_=>_i32) (param $this i32) (param $searchElement f64) (param $fromIndex i32) (result i32) block $1of1 @@ -19718,6 +20066,7 @@ i32.const 0 br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 end + return ) (func $~lib/typedarray/Float32Array#includes (type $i32_f32_i32_=>_i32) (param $this i32) (param $searchElement f32) (param $fromIndex i32) (result i32) (local $array i32) @@ -19816,6 +20165,7 @@ i32.const 0 br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 end + return ) (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) local.get $value @@ -20064,12 +20414,15 @@ (local $b64 i64) (local $b i64) (local $e i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -20131,6 +20484,7 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) @@ -20234,6 +20588,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) (local $sign i32) @@ -20364,6 +20719,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/typedarray/Int8Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) local.get $this @@ -20372,6 +20728,7 @@ call $~lib/typedarray/Int8Array#get:length local.get $separator call $~lib/util/string/joinIntegerArray + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -20475,6 +20832,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -20517,6 +20875,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) (local $sign i32) @@ -20588,6 +20947,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/typedarray/Uint8Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) local.get $this @@ -20596,6 +20956,7 @@ call $~lib/typedarray/Uint8Array#get:length local.get $separator call $~lib/util/string/joinIntegerArray + return ) (func $~lib/typedarray/Uint8ClampedArray#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) local.get $this @@ -20604,6 +20965,7 @@ call $~lib/typedarray/Uint8ClampedArray#get:length local.get $separator call $~lib/util/string/joinIntegerArray + return ) (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) (local $sign i32) @@ -20749,6 +21111,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/typedarray/Int16Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) local.get $this @@ -20757,6 +21120,7 @@ call $~lib/typedarray/Int16Array#get:length local.get $separator call $~lib/util/string/joinIntegerArray + return ) (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) (local $sign i32) @@ -20828,6 +21192,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/typedarray/Uint16Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) local.get $this @@ -20836,6 +21201,7 @@ call $~lib/typedarray/Uint16Array#get:length local.get $separator call $~lib/util/string/joinIntegerArray + return ) (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) (local $sign i32) @@ -20929,6 +21295,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/typedarray/Int32Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) local.get $this @@ -20937,6 +21304,7 @@ call $~lib/typedarray/Int32Array#get:length local.get $separator call $~lib/util/string/joinIntegerArray + return ) (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) (local $sign i32) @@ -21002,6 +21370,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/typedarray/Uint32Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) local.get $this @@ -21010,6 +21379,7 @@ call $~lib/typedarray/Uint32Array#get:length local.get $separator call $~lib/util/string/joinIntegerArray + return ) (func $~lib/util/number/decimalCount64High (type $i64_=>_i32) (param $value i64) (result i32) local.get $value @@ -21314,6 +21684,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/typedarray/Int64Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) local.get $this @@ -21322,6 +21693,7 @@ call $~lib/typedarray/Int64Array#get:length local.get $separator call $~lib/util/string/joinIntegerArray + return ) (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $buffer i32) (param $value i64) (result i32) (local $sign i32) @@ -21419,6 +21791,7 @@ local.get $sign local.get $decimals i32.add + return ) (func $~lib/typedarray/Uint64Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) local.get $this @@ -21427,6 +21800,7 @@ call $~lib/typedarray/Uint64Array#get:length local.get $separator call $~lib/util/string/joinIntegerArray + return ) (func $~lib/util/number/genDigits (type $i32_i64_i32_i64_i32_i64_i32_=>_i32) (param $buffer i32) (param $w_frc i64) (param $w_exp i32) (param $mp_frc i64) (param $mp_exp i32) (param $delta i64) (param $sign i32) (result i32) (local $one_exp i32) @@ -22125,51 +22499,54 @@ local.get $buffer i32.const 101 i32.store16 $0 offset=2 - local.get $buffer - i32.const 4 - i32.add - local.set $buffer|8 - local.get $kk - i32.const 1 - i32.sub - local.set $k|9 - local.get $k|9 - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 0 - local.get $k|9 + block $~lib/util/number/genExponent|inlined.0 (result i32) + local.get $buffer + i32.const 4 + i32.add + local.set $buffer|8 + local.get $kk + i32.const 1 i32.sub local.set $k|9 + local.get $k|9 + i32.const 0 + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 0 + local.get $k|9 + i32.sub + local.set $k|9 + end + local.get $k|9 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 + local.set $num + local.get $decimals + local.set $offset|14 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|12 + local.get $num + local.get $offset|14 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|8 + i32.const 45 + i32.const 43 + local.get $sign + select + i32.store16 $0 + local.get $decimals + br $~lib/util/number/genExponent|inlined.0 end - local.get $k|9 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals - local.get $buffer|8 - local.set $buffer|12 - local.get $k|9 - local.set $num - local.get $decimals - local.set $offset|14 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|12 - local.get $num - local.get $offset|14 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|8 - i32.const 45 - i32.const 43 - local.get $sign - select - i32.store16 $0 - local.get $decimals local.set $length local.get $length i32.const 2 @@ -22199,53 +22576,56 @@ i32.const 101 i32.store16 $0 offset=2 local.get $length - local.get $buffer - local.get $len - i32.add - i32.const 4 - i32.add - local.set $buffer|16 - local.get $kk - i32.const 1 - i32.sub - local.set $k|17 - local.get $k|17 - i32.const 0 - i32.lt_s - local.set $sign|18 - local.get $sign|18 - if - i32.const 0 - local.get $k|17 + block $~lib/util/number/genExponent|inlined.1 (result i32) + local.get $buffer + local.get $len + i32.add + i32.const 4 + i32.add + local.set $buffer|16 + local.get $kk + i32.const 1 i32.sub local.set $k|17 + local.get $k|17 + i32.const 0 + i32.lt_s + local.set $sign|18 + local.get $sign|18 + if + i32.const 0 + local.get $k|17 + i32.sub + local.set $k|17 + end + local.get $k|17 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|16 + i32.const 45 + i32.const 43 + local.get $sign|18 + select + i32.store16 $0 + local.get $decimals|19 + br $~lib/util/number/genExponent|inlined.1 end - local.get $k|17 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals|19 - local.get $buffer|16 - local.set $buffer|20 - local.get $k|17 - local.set $num|21 - local.get $decimals|19 - local.set $offset|22 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|20 - local.get $num|21 - local.get $offset|22 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|16 - i32.const 45 - i32.const 43 - local.get $sign|18 - select - i32.store16 $0 - local.get $decimals|19 i32.add local.set $length local.get $length @@ -22334,375 +22714,393 @@ i32.const 45 i32.store16 $0 end - local.get $value - local.set $value|3 - local.get $buffer - local.set $buffer|4 - local.get $sign - local.set $sign|5 - local.get $value|3 - i64.reinterpret_f64 - local.set $uv - local.get $uv - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $exp - local.get $uv - i64.const 4503599627370495 - i64.and - local.set $sid - local.get $exp - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $sid - i64.add - local.set $frc - local.get $exp - i32.const 1 - local.get $exp - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $exp - local.get $frc - local.set $f - local.get $exp - local.set $e - local.get $f - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $frc|12 - local.get $e - i32.const 1 - i32.sub - local.set $exp|13 - local.get $frc|12 - i64.clz - i32.wrap_i64 - local.set $off - local.get $frc|12 - local.get $off - i64.extend_i32_s - i64.shl - local.set $frc|12 - local.get $exp|13 - local.get $off - i32.sub - local.set $exp|13 - i32.const 1 - local.get $f - i64.const 4503599627370496 - i64.eq - i32.add - local.set $m - local.get $frc|12 - global.set $~lib/util/number/_frc_plus - local.get $f - local.get $m - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $e - local.get $m - i32.sub - local.get $exp|13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $exp|13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $minExp - i32.const -61 - local.get $minExp - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $dk - local.get $dk - i32.trunc_sat_f64_s - local.set $k - local.get $k - local.get $k - f64.convert_i32_s - local.get $dk - f64.ne - i32.add - local.set $k - local.get $k - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.set $index - i32.const 348 - local.get $index - i32.const 3 - i32.shl - i32.sub - global.set $~lib/util/number/_K - i32.const 8840 - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - i32.const 9536 - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $frc - i64.clz - i32.wrap_i64 - local.set $off|20 - local.get $frc - local.get $off|20 - i64.extend_i32_s - i64.shl - local.set $frc - local.get $exp - local.get $off|20 - i32.sub - local.set $exp - global.get $~lib/util/number/_frc_pow - local.set $frc_pow - global.get $~lib/util/number/_exp_pow - local.set $exp_pow - local.get $frc - local.set $u - local.get $frc_pow - local.set $v - local.get $u - i64.const 4294967295 - i64.and - local.set $u0 - local.get $v - i64.const 4294967295 - i64.and - local.set $v0 - local.get $u - i64.const 32 - i64.shr_u - local.set $u1 - local.get $v - i64.const 32 - i64.shr_u - local.set $v1 - local.get $u0 - local.get $v0 - i64.mul - local.set $l - local.get $u1 - local.get $v0 - i64.mul - local.get $l - i64.const 32 - i64.shr_u - i64.add - local.set $t - local.get $u0 - local.get $v1 - i64.mul - local.get $t - i64.const 4294967295 - i64.and - i64.add - local.set $w - local.get $w - i64.const 2147483647 - i64.add - local.set $w - local.get $t - i64.const 32 - i64.shr_u - local.set $t - local.get $w - i64.const 32 - i64.shr_u - local.set $w - local.get $u1 - local.get $v1 - i64.mul - local.get $t - i64.add - local.get $w - i64.add - local.set $w_frc - local.get $exp - local.set $e1 - local.get $exp_pow - local.set $e2 - local.get $e1 - local.get $e2 - i32.add - i32.const 64 - i32.add - local.set $w_exp - global.get $~lib/util/number/_frc_plus - local.set $u|36 - local.get $frc_pow - local.set $v|37 - local.get $u|36 - i64.const 4294967295 - i64.and - local.set $u0|38 - local.get $v|37 - i64.const 4294967295 - i64.and - local.set $v0|39 - local.get $u|36 - i64.const 32 - i64.shr_u - local.set $u1|40 - local.get $v|37 - i64.const 32 - i64.shr_u - local.set $v1|41 - local.get $u0|38 - local.get $v0|39 - i64.mul - local.set $l|42 - local.get $u1|40 - local.get $v0|39 - i64.mul - local.get $l|42 - i64.const 32 - i64.shr_u - i64.add - local.set $t|43 - local.get $u0|38 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.const 4294967295 - i64.and - i64.add - local.set $w|44 - local.get $w|44 - i64.const 2147483647 - i64.add - local.set $w|44 - local.get $t|43 - i64.const 32 - i64.shr_u - local.set $t|43 - local.get $w|44 - i64.const 32 - i64.shr_u - local.set $w|44 - local.get $u1|40 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.add - local.get $w|44 - i64.add - i64.const 1 - i64.sub - local.set $wp_frc - global.get $~lib/util/number/_exp - local.set $e1|46 - local.get $exp_pow - local.set $e2|47 - local.get $e1|46 - local.get $e2|47 - i32.add - i32.const 64 - i32.add - local.set $wp_exp - global.get $~lib/util/number/_frc_minus - local.set $u|49 - local.get $frc_pow - local.set $v|50 - local.get $u|49 - i64.const 4294967295 - i64.and - local.set $u0|51 - local.get $v|50 - i64.const 4294967295 - i64.and - local.set $v0|52 - local.get $u|49 - i64.const 32 - i64.shr_u - local.set $u1|53 - local.get $v|50 - i64.const 32 - i64.shr_u - local.set $v1|54 - local.get $u0|51 - local.get $v0|52 - i64.mul - local.set $l|55 - local.get $u1|53 - local.get $v0|52 - i64.mul - local.get $l|55 - i64.const 32 - i64.shr_u - i64.add - local.set $t|56 - local.get $u0|51 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.const 4294967295 - i64.and - i64.add - local.set $w|57 - local.get $w|57 - i64.const 2147483647 - i64.add - local.set $w|57 - local.get $t|56 - i64.const 32 - i64.shr_u - local.set $t|56 - local.get $w|57 - i64.const 32 - i64.shr_u - local.set $w|57 - local.get $u1|53 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.add - local.get $w|57 - i64.add - i64.const 1 - i64.add - local.set $wm_frc - local.get $wp_frc - local.get $wm_frc - i64.sub - local.set $delta - local.get $buffer|4 - local.get $w_frc - local.get $w_exp - local.get $wp_frc - local.get $wp_exp - local.get $delta - local.get $sign|5 - call $~lib/util/number/genDigits + block $~lib/util/number/grisu2|inlined.0 (result i32) + local.get $value + local.set $value|3 + local.get $buffer + local.set $buffer|4 + local.get $sign + local.set $sign|5 + local.get $value|3 + i64.reinterpret_f64 + local.set $uv + local.get $uv + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv + i64.const 4503599627370495 + i64.and + local.set $sid + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid + i64.add + local.set $frc + local.get $exp + i32.const 1 + local.get $exp + select + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $exp + local.get $frc + local.set $f + local.get $exp + local.set $e + local.get $f + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $frc|12 + local.get $e + i32.const 1 + i32.sub + local.set $exp|13 + local.get $frc|12 + i64.clz + i32.wrap_i64 + local.set $off + local.get $frc|12 + local.get $off + i64.extend_i32_s + i64.shl + local.set $frc|12 + local.get $exp|13 + local.get $off + i32.sub + local.set $exp|13 + i32.const 1 + local.get $f + i64.const 4503599627370496 + i64.eq + i32.add + local.set $m + local.get $frc|12 + global.set $~lib/util/number/_frc_plus + local.get $f + local.get $m + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $e + local.get $m + i32.sub + local.get $exp|13 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $exp|13 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $minExp + i32.const -61 + local.get $minExp + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.set $dk + local.get $dk + i32.trunc_sat_f64_s + local.set $k + local.get $k + local.get $k + f64.convert_i32_s + local.get $dk + f64.ne + i32.add + local.set $k + local.get $k + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.set $index + i32.const 348 + local.get $index + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 8840 + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + global.set $~lib/util/number/_frc_pow + i32.const 9536 + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + global.set $~lib/util/number/_exp_pow + local.get $frc + i64.clz + i32.wrap_i64 + local.set $off|20 + local.get $frc + local.get $off|20 + i64.extend_i32_s + i64.shl + local.set $frc + local.get $exp + local.get $off|20 + i32.sub + local.set $exp + global.get $~lib/util/number/_frc_pow + local.set $frc_pow + global.get $~lib/util/number/_exp_pow + local.set $exp_pow + block $~lib/util/number/umul64f|inlined.0 (result i64) + local.get $frc + local.set $u + local.get $frc_pow + local.set $v + local.get $u + i64.const 4294967295 + i64.and + local.set $u0 + local.get $v + i64.const 4294967295 + i64.and + local.set $v0 + local.get $u + i64.const 32 + i64.shr_u + local.set $u1 + local.get $v + i64.const 32 + i64.shr_u + local.set $v1 + local.get $u0 + local.get $v0 + i64.mul + local.set $l + local.get $u1 + local.get $v0 + i64.mul + local.get $l + i64.const 32 + i64.shr_u + i64.add + local.set $t + local.get $u0 + local.get $v1 + i64.mul + local.get $t + i64.const 4294967295 + i64.and + i64.add + local.set $w + local.get $w + i64.const 2147483647 + i64.add + local.set $w + local.get $t + i64.const 32 + i64.shr_u + local.set $t + local.get $w + i64.const 32 + i64.shr_u + local.set $w + local.get $u1 + local.get $v1 + i64.mul + local.get $t + i64.add + local.get $w + i64.add + br $~lib/util/number/umul64f|inlined.0 + end + local.set $w_frc + block $~lib/util/number/umul64e|inlined.0 (result i32) + local.get $exp + local.set $e1 + local.get $exp_pow + local.set $e2 + local.get $e1 + local.get $e2 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.0 + end + local.set $w_exp + block $~lib/util/number/umul64f|inlined.1 (result i64) + global.get $~lib/util/number/_frc_plus + local.set $u|36 + local.get $frc_pow + local.set $v|37 + local.get $u|36 + i64.const 4294967295 + i64.and + local.set $u0|38 + local.get $v|37 + i64.const 4294967295 + i64.and + local.set $v0|39 + local.get $u|36 + i64.const 32 + i64.shr_u + local.set $u1|40 + local.get $v|37 + i64.const 32 + i64.shr_u + local.set $v1|41 + local.get $u0|38 + local.get $v0|39 + i64.mul + local.set $l|42 + local.get $u1|40 + local.get $v0|39 + i64.mul + local.get $l|42 + i64.const 32 + i64.shr_u + i64.add + local.set $t|43 + local.get $u0|38 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.const 4294967295 + i64.and + i64.add + local.set $w|44 + local.get $w|44 + i64.const 2147483647 + i64.add + local.set $w|44 + local.get $t|43 + i64.const 32 + i64.shr_u + local.set $t|43 + local.get $w|44 + i64.const 32 + i64.shr_u + local.set $w|44 + local.get $u1|40 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.add + local.get $w|44 + i64.add + br $~lib/util/number/umul64f|inlined.1 + end + i64.const 1 + i64.sub + local.set $wp_frc + block $~lib/util/number/umul64e|inlined.1 (result i32) + global.get $~lib/util/number/_exp + local.set $e1|46 + local.get $exp_pow + local.set $e2|47 + local.get $e1|46 + local.get $e2|47 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.1 + end + local.set $wp_exp + block $~lib/util/number/umul64f|inlined.2 (result i64) + global.get $~lib/util/number/_frc_minus + local.set $u|49 + local.get $frc_pow + local.set $v|50 + local.get $u|49 + i64.const 4294967295 + i64.and + local.set $u0|51 + local.get $v|50 + i64.const 4294967295 + i64.and + local.set $v0|52 + local.get $u|49 + i64.const 32 + i64.shr_u + local.set $u1|53 + local.get $v|50 + i64.const 32 + i64.shr_u + local.set $v1|54 + local.get $u0|51 + local.get $v0|52 + i64.mul + local.set $l|55 + local.get $u1|53 + local.get $v0|52 + i64.mul + local.get $l|55 + i64.const 32 + i64.shr_u + i64.add + local.set $t|56 + local.get $u0|51 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.const 4294967295 + i64.and + i64.add + local.set $w|57 + local.get $w|57 + i64.const 2147483647 + i64.add + local.set $w|57 + local.get $t|56 + i64.const 32 + i64.shr_u + local.set $t|56 + local.get $w|57 + i64.const 32 + i64.shr_u + local.set $w|57 + local.get $u1|53 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.add + local.get $w|57 + i64.add + br $~lib/util/number/umul64f|inlined.2 + end + i64.const 1 + i64.add + local.set $wm_frc + local.get $wp_frc + local.get $wm_frc + i64.sub + local.set $delta + local.get $buffer|4 + local.get $w_frc + local.get $w_exp + local.get $wp_frc + local.get $wp_exp + local.get $delta + local.get $sign|5 + call $~lib/util/number/genDigits + br $~lib/util/number/grisu2|inlined.0 + end local.set $len local.get $buffer local.get $sign @@ -22718,6 +23116,7 @@ local.get $len local.get $sign i32.add + return ) (func $~lib/util/number/dtoa_buffered (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) (local $sign i32) @@ -22790,6 +23189,7 @@ local.get $buffer local.get $value call $~lib/util/number/dtoa_core + return ) (func $~lib/typedarray/Float32Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) local.get $this @@ -22798,6 +23198,7 @@ call $~lib/typedarray/Float32Array#get:length local.get $separator call $~lib/util/string/joinFloatArray + return ) (func $~lib/typedarray/Float64Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) local.get $this @@ -22806,12 +23207,14 @@ call $~lib/typedarray/Float64Array#get:length local.get $separator call $~lib/util/string/joinFloatArray + return ) (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.const 20 i32.sub call $~lib/rt/common/OBJECT#get:rtSize + return ) (func $~lib/typedarray/Uint8Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) block $2of2 @@ -23163,6 +23566,7 @@ local.get $index i32.add i32.load8_s $0 + return ) (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) local.get $this @@ -23172,6 +23576,7 @@ i32.shl i32.add i32.load8_s $0 + return ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -23180,6 +23585,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -23386,6 +23792,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -23800,6 +24207,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/typedarray/Uint8Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) local.get $this @@ -23807,6 +24215,7 @@ local.get $index i32.add i32.load8_u $0 + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -23820,6 +24229,7 @@ i32.shl i32.add i32.load8_u $0 + return ) (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) (local $target i32) @@ -24442,6 +24852,7 @@ local.get $index i32.add i32.load8_u $0 + return ) (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) (local $target i32) @@ -25143,6 +25554,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/typedarray/Int16Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) local.get $this @@ -25152,6 +25564,7 @@ i32.shl i32.add i32.load16_s $0 + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -25165,6 +25578,7 @@ i32.shl i32.add i32.load16_s $0 + return ) (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) (local $target i32) @@ -25801,6 +26215,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/typedarray/Uint16Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) local.get $this @@ -25810,6 +26225,7 @@ i32.shl i32.add i32.load16_u $0 + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -25823,6 +26239,7 @@ i32.shl i32.add i32.load16_u $0 + return ) (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) (local $target i32) @@ -26428,6 +26845,7 @@ i32.shl i32.add i32.load $0 + return ) (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) local.get $this @@ -26437,6 +26855,7 @@ i32.shl i32.add i32.load $0 + return ) (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) (local $target i32) @@ -27073,6 +27492,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/typedarray/Uint32Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) local.get $this @@ -27082,6 +27502,7 @@ i32.shl i32.add i32.load $0 + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -27095,6 +27516,7 @@ i32.shl i32.add i32.load $0 + return ) (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) (local $target i32) @@ -27764,6 +28186,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/typedarray/Int64Array#__uget (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) local.get $this @@ -27773,6 +28196,7 @@ i32.shl i32.add i64.load $0 + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -27786,6 +28210,7 @@ i32.shl i32.add i64.load $0 + return ) (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) (local $target i32) @@ -28425,6 +28850,7 @@ (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/array/Array#get:length_ + return ) (func $~lib/typedarray/Uint64Array#__uget (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) local.get $this @@ -28434,6 +28860,7 @@ i32.shl i32.add i64.load $0 + return ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -28447,6 +28874,7 @@ i32.shl i32.add i64.load $0 + return ) (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) (local $target i32) @@ -29087,6 +29515,7 @@ i32.shl i32.add f32.load $0 + return ) (func $~lib/array/Array#__uget (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) local.get $this @@ -29096,6 +29525,7 @@ i32.shl i32.add f32.load $0 + return ) (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) (local $target i32) @@ -29624,6 +30054,7 @@ i32.shl i32.add f64.load $0 + return ) (func $~lib/array/Array#__uget (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) local.get $this @@ -29633,6 +30064,7 @@ i32.shl i32.add f64.load $0 + return ) (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) (local $target i32) @@ -30747,6 +31179,7 @@ end end local.get $j + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -31040,12 +31473,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.1 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.1 + end i32.const 2 i32.add local.set $lgPlus2 @@ -31305,6 +31741,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -31660,6 +32097,7 @@ end end local.get $j + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -31953,12 +32391,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.2 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.2 + end i32.const 2 i32.add local.set $lgPlus2 @@ -32218,6 +32659,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -32261,6 +32703,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|1 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -32630,6 +33073,7 @@ end end local.get $j + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -32923,12 +33367,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.3 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.3 + end i32.const 2 i32.add local.set $lgPlus2 @@ -33188,6 +33635,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -33543,6 +33991,7 @@ end end local.get $j + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -33836,12 +34285,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.4 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.4 + end i32.const 2 i32.add local.set $lgPlus2 @@ -34101,6 +34553,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -34470,6 +34923,7 @@ end end local.get $j + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -34763,12 +35217,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.5 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.5 + end i32.const 2 i32.add local.set $lgPlus2 @@ -35028,6 +35485,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -35377,6 +35835,7 @@ end end local.get $j + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -35670,12 +36129,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.6 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.6 + end i32.const 2 i32.add local.set $lgPlus2 @@ -35935,6 +36397,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a @@ -36288,6 +36751,7 @@ end end local.get $j + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -36581,12 +37045,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.7 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.7 + end i32.const 2 i32.add local.set $lgPlus2 @@ -36846,6 +37313,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i64_i64_=>_i32) (param $a i64) (param $b i64) (result i32) local.get $a @@ -37199,6 +37667,7 @@ end end local.get $j + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -37492,12 +37961,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.8 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.8 + end i32.const 2 i32.add local.set $lgPlus2 @@ -37757,6 +38229,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i64_i64_=>_i32) (param $a i64) (param $b i64) (result i32) local.get $a @@ -38110,6 +38583,7 @@ end end local.get $j + return ) (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) @@ -38403,12 +38877,15 @@ call $~lib/util/sort/insertionSort return end - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub + block $~lib/util/sort/log2u|inlined.9 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.9 + end i32.const 2 i32.add local.set $lgPlus2 @@ -38668,6 +39145,7 @@ local.get $comparator call $~lib/util/sort/SORT local.get $this + return ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f32_f32_=>_i32) (param $a f32) (param $b f32) (result i32) (local $ia i32) @@ -38701,6 +39179,7 @@ local.get $ib i32.lt_s i32.sub + return ) (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_f32_=>_i32) (param $a f32) (param $b f32) (result i32) local.get $b @@ -51278,6 +51757,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> (type $none_=>_none) (local $array i32) @@ -51402,6 +51882,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) (local $array i32) @@ -51526,6 +52007,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) (local $array i32) @@ -51650,6 +52132,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> (type $none_=>_none) (local $array i32) @@ -51774,6 +52257,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) (local $array i32) @@ -51898,6 +52382,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> (type $none_=>_none) (local $array i32) @@ -52022,6 +52507,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) (local $array i32) @@ -52146,6 +52632,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> (type $none_=>_none) (local $array i32) @@ -52270,6 +52757,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) (local $array i32) @@ -52394,6 +52882,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> (type $none_=>_none) (local $array i32) @@ -52518,6 +53007,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> (type $none_=>_none) (local $array i32) @@ -61723,112 +62213,116 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + call $~lib/typedarray/Int32Array#get:length + local.set $len local.get $begin|4 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + if (result i32) + local.get $len + local.get $begin|4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 local.get $end|5 - i32.add - local.tee $11 i32.const 0 - local.tee $12 - local.get $11 - local.get $12 + i32.lt_s + if (result i32) + local.get $len + local.get $end|5 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 i32.gt_s select - else + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 2 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out local.get $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select + local.get $begin|4 + i32.sub + i32.const 2 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0 end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 2 - i32.shl - i32.store $0 offset=8 - local.get $out local.set $19 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $19 + return ) (func $~lib/typedarray/Float64Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) (local $array i32) @@ -61856,112 +62350,116 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + call $~lib/typedarray/Float64Array#get:length + local.set $len local.get $begin|4 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + if (result i32) + local.get $len + local.get $begin|4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 local.get $end|5 - i32.add - local.tee $11 i32.const 0 - local.tee $12 - local.get $11 - local.get $12 + i32.lt_s + if (result i32) + local.get $len + local.get $end|5 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 i32.gt_s select - else + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 3 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out local.get $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select + local.get $begin|4 + i32.sub + i32.const 3 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0 end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 3 - i32.shl - i32.store $0 offset=8 - local.get $out local.set $19 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $19 + return ) (func $~lib/typedarray/Float64Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) (local $2 i32) @@ -62058,6 +62556,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $7 + return ) (func $~lib/typedarray/Int8Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) (local $array i32) @@ -62085,112 +62584,116 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Int8Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + call $~lib/typedarray/Int8Array#get:length + local.set $len local.get $begin|4 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + if (result i32) + local.get $len + local.get $begin|4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 local.get $end|5 - i32.add - local.tee $11 i32.const 0 - local.tee $12 - local.get $11 - local.get $12 + i32.lt_s + if (result i32) + local.get $len + local.get $end|5 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 i32.gt_s select - else + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 0 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out local.get $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select + local.get $begin|4 + i32.sub + i32.const 0 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0 end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 0 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 0 - i32.shl - i32.store $0 offset=8 - local.get $out local.set $19 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $19 + return ) (func $~lib/typedarray/Int32Array#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) (local $array i32) @@ -62217,101 +62720,105 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - local.set $array - local.get $begin - local.set $start - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $len - local.get $start - i32.const 0 - i32.lt_s - if (result i32) + block $~lib/typedarray/SLICE<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $begin + local.set $start + local.get $end + local.set $end|5 + local.get $array + call $~lib/typedarray/Int32Array#get:length + local.set $len local.get $start - local.get $len - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $start - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 i32.lt_s - select - end - local.set $start - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) + if (result i32) + local.get $start + local.get $len + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $start + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $start local.get $end|5 - local.get $len - i32.add - local.tee $11 i32.const 0 - local.tee $12 - local.get $11 - local.get $12 + i32.lt_s + if (result i32) + local.get $end|5 + local.get $len + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.get $start + i32.sub + local.tee $15 + i32.const 0 + local.tee $16 + local.get $15 + local.get $16 i32.gt_s select - else - local.get $end|5 - local.tee $13 + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select + call $~lib/typedarray/Int32Array#constructor + local.tee $slice + i32.store $0 + local.get $slice + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $start + i32.const 2 + i32.shl + i32.add + local.get $len + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $slice + br $~lib/typedarray/SLICE<~lib/typedarray/Int32Array,i32>|inlined.0 end - local.set $end|5 - local.get $end|5 - local.get $start - i32.sub - local.tee $15 - i32.const 0 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $len - call $~lib/typedarray/Int32Array#constructor - local.tee $slice - i32.store $0 - local.get $slice - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $start - i32.const 2 - i32.shl - i32.add - local.get $len - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $slice local.set $18 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $18 + return ) (func $~lib/typedarray/Int8Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -62331,85 +62838,89 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int8Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 0 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Int8Array#get:length + local.set $len + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 0 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 + i32.const 0 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $len + i32.lt_s + if + local.get $buf + local.get $i + i32.const 0 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/typedarray/Uint8Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -62429,85 +62940,89 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 0 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Uint8Array#get:length + local.set $len + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 0 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 + i32.const 0 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $len + i32.lt_s + if + local.get $buf + local.get $i + i32.const 0 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/typedarray/Uint8ClampedArray#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -62527,85 +63042,89 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 0 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $len + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 0 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 + i32.const 0 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $len + i32.lt_s + if + local.get $buf + local.get $i + i32.const 0 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/typedarray/Int16Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -62625,85 +63144,89 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int16Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 1 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Int16Array#get:length + local.set $len + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 1 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 $0 + i32.const 1 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $len + i32.lt_s + if + local.get $buf + local.get $i + i32.const 1 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/typedarray/Uint16Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -62723,85 +63246,89 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 1 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Uint16Array#get:length + local.set $len + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 1 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 $0 + i32.const 1 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $len + i32.lt_s + if + local.get $buf + local.get $i + i32.const 1 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/typedarray/Int32Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -62821,85 +63348,89 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 2 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Int32Array#get:length + local.set $len + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store $0 + i32.const 2 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $len + i32.lt_s + if + local.get $buf + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/typedarray/Uint32Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -62919,85 +63450,89 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint32Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 2 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Uint32Array#get:length + local.set $len + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store $0 + i32.const 2 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $len + i32.lt_s + if + local.get $buf + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/typedarray/Int64Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63017,85 +63552,89 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int64Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 3 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Int64Array#get:length + local.set $len + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store $0 + i32.const 3 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $len + i32.lt_s + if + local.get $buf + local.get $i + i32.const 3 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i64) + i64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/typedarray/Uint64Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63115,85 +63654,89 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 3 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Uint64Array#get:length + local.set $len + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store $0 + i32.const 3 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $len + i32.lt_s + if + local.get $buf + local.get $i + i32.const 3 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i64) + i64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/typedarray/Float32Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63213,85 +63756,89 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Float32Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 2 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Float32Array#get:length + local.set $len + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_f32) - f32.store $0 + i32.const 2 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $len + i32.lt_s + if + local.get $buf + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $f32_i32_i32_=>_f32) + f32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/typedarray/Float64Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63311,85 +63858,89 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 3 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Float64Array#get:length + local.set $len + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_f64) - f64.store $0 + i32.const 3 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $len + i32.lt_s + if + local.get $buf + local.get $i + i32.const 3 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $f64_i32_i32_=>_f64) + f64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/typedarray/Int8Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63413,103 +63964,107 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int8Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 0 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/FILTER<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Int8Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - local.get $value + i32.const 0 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + local.get $len + i32.lt_s if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 + local.get $dataStart + local.get $i i32.const 0 i32.shl i32.add + i32.load8_s $0 + local.set $value local.get $value - i32.store8 $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $value + i32.store8 $0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end - end - local.get $j - i32.const 0 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out + local.get $j + i32.const 0 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Int8Array,i8>|inlined.0 + end local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/typedarray/Uint8Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63533,103 +64088,107 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 0 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/FILTER<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Uint8Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - local.get $value + i32.const 0 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + local.get $len + i32.lt_s if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 + local.get $dataStart + local.get $i i32.const 0 i32.shl i32.add + i32.load8_u $0 + local.set $value local.get $value - i32.store8 $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $value + i32.store8 $0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $j + i32.const 0 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Uint8Array,u8>|inlined.0 end - local.get $j - i32.const 0 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/typedarray/Uint8ClampedArray#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63653,103 +64212,107 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 0 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/FILTER<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - local.get $value + i32.const 0 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + local.get $len + i32.lt_s if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 + local.get $dataStart + local.get $i i32.const 0 i32.shl i32.add + i32.load8_u $0 + local.set $value local.get $value - i32.store8 $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $value + i32.store8 $0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $j + i32.const 0 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end - local.get $j - i32.const 0 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/typedarray/Int16Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63773,103 +64336,107 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int16Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/FILTER<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Int16Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value - local.get $value + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + local.get $len + i32.lt_s if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 + local.get $dataStart + local.get $i i32.const 1 i32.shl i32.add + i32.load16_s $0 + local.set $value local.get $value - i32.store16 $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 1 + i32.shl + i32.add + local.get $value + i32.store16 $0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $j + i32.const 1 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Int16Array,i16>|inlined.0 end - local.get $j - i32.const 1 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/typedarray/Uint16Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -63893,103 +64460,107 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/FILTER<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Uint16Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $value - local.get $value + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + local.get $len + i32.lt_s if - local.get $buf - local.get $j - local.tee $11 + local.get $dataStart + local.get $i i32.const 1 + i32.shl i32.add - local.set $j - local.get $11 + i32.load16_u $0 + local.set $value + local.get $value + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 1 + i32.shl + i32.add + local.get $value + i32.store16 $0 + end + local.get $i i32.const 1 - i32.shl i32.add - local.get $value - i32.store16 $0 + local.set $i + br $for-loop|0 end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $j + i32.const 1 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Uint16Array,u16>|inlined.0 end - local.get $j - i32.const 1 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/typedarray/Int32Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64013,103 +64584,107 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 2 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/FILTER<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Int32Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - local.get $value + i32.const 2 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + local.get $len + i32.lt_s if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 + local.get $dataStart + local.get $i i32.const 2 i32.shl i32.add + i32.load $0 + local.set $value local.get $value - i32.store $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $j + i32.const 2 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Int32Array,i32>|inlined.0 end - local.get $j - i32.const 2 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/typedarray/Uint32Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64133,103 +64708,107 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint32Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 2 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/FILTER<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Uint32Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - local.get $value + i32.const 2 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + local.get $len + i32.lt_s if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 + local.get $dataStart + local.get $i i32.const 2 i32.shl i32.add + i32.load $0 + local.set $value local.get $value - i32.store $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $j + i32.const 2 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Uint32Array,u32>|inlined.0 end - local.get $j - i32.const 2 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/typedarray/Int64Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64253,103 +64832,107 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int64Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 3 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/FILTER<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Int64Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - local.get $value + i32.const 3 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + local.get $len + i32.lt_s if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 + local.get $dataStart + local.get $i i32.const 3 i32.shl i32.add + i64.load $0 + local.set $value local.get $value - i64.store $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $value + i64.store $0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $j + i32.const 3 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Int64Array,i64>|inlined.0 end - local.get $j - i32.const 3 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/typedarray/Uint64Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64370,106 +64953,110 @@ i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 3 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + block $~lib/typedarray/FILTER<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Uint64Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - local.get $value + i32.const 3 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + local.get $len + i32.lt_s if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 + local.get $dataStart + local.get $i i32.const 3 i32.shl i32.add + i64.load $0 + local.set $value local.get $value - i64.store $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $value + i64.store $0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $j + i32.const 3 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Uint64Array,u64>|inlined.0 end - local.get $j - i32.const 3 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/typedarray/Float32Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64493,103 +65080,107 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Float32Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 2 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/FILTER<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Float32Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - local.get $value + i32.const 2 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) + local.get $len + i32.lt_s if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 + local.get $dataStart + local.get $i i32.const 2 i32.shl i32.add + f32.load $0 + local.set $value local.get $value - f32.store $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $f32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $value + f32.store $0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $j + i32.const 2 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Float32Array,f32>|inlined.0 end - local.get $j - i32.const 2 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/typedarray/Float64Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) (local $array i32) @@ -64613,103 +65204,107 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 3 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i + block $~lib/typedarray/FILTER<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $fn + local.set $fn|3 + local.get $array + call $~lib/typedarray/Float64Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - local.get $value + i32.const 3 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) + local.get $len + i32.lt_s if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 + local.get $dataStart + local.get $i i32.const 3 i32.shl i32.add + f64.load $0 + local.set $value local.get $value - f64.store $0 + local.get $i + local.get $array + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $f64_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $value + f64.store $0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $j + i32.const 3 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Float64Array,f64>|inlined.0 end - local.get $j - i32.const 3 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out local.set $14 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/typedarray/Uint8Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) (local $array i32) @@ -64737,112 +65332,116 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + call $~lib/typedarray/Uint8Array#get:length + local.set $len local.get $begin|4 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + if (result i32) + local.get $len + local.get $begin|4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 local.get $end|5 - i32.add - local.tee $11 i32.const 0 - local.tee $12 - local.get $11 - local.get $12 - i32.gt_s - select - else - local.get $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 i32.lt_s - select - end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 0 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 0 - i32.shl - i32.store $0 offset=8 - local.get $out + if (result i32) + local.get $len + local.get $end|5 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 + i32.gt_s + select + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 0 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out + local.get $end|5 + local.get $begin|4 + i32.sub + i32.const 0 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0 + end local.set $19 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $19 + return ) (func $~lib/typedarray/Uint8ClampedArray#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $array i32) @@ -64870,112 +65469,116 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - local.set $array - local.get $start - local.set $begin - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $len - local.get $begin - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $start + local.set $begin + local.get $end + local.set $end|5 + local.get $array + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $len local.get $begin - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $begin - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 i32.lt_s - select - end - local.set $begin - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + if (result i32) + local.get $len + local.get $begin + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin local.get $end|5 - i32.add - local.tee $11 i32.const 0 - local.tee $12 - local.get $11 - local.get $12 + i32.lt_s + if (result i32) + local.get $len + local.get $end|5 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin + local.tee $16 + local.get $15 + local.get $16 i32.gt_s select - else + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin + i32.const 0 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out local.get $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select + local.get $begin + i32.sub + i32.const 0 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin - i32.const 0 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin - i32.sub - i32.const 0 - i32.shl - i32.store $0 offset=8 - local.get $out local.set $19 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $19 + return ) (func $~lib/typedarray/Int16Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) (local $array i32) @@ -65003,112 +65606,116 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Int16Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + call $~lib/typedarray/Int16Array#get:length + local.set $len local.get $begin|4 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + if (result i32) + local.get $len + local.get $begin|4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 local.get $end|5 - i32.add - local.tee $11 i32.const 0 - local.tee $12 - local.get $11 - local.get $12 + i32.lt_s + if (result i32) + local.get $len + local.get $end|5 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 i32.gt_s select - else + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 1 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out local.get $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select + local.get $begin|4 + i32.sub + i32.const 1 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0 end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 1 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 1 - i32.shl - i32.store $0 offset=8 - local.get $out local.set $19 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $19 + return ) (func $~lib/typedarray/Uint16Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) (local $array i32) @@ -65136,112 +65743,116 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + call $~lib/typedarray/Uint16Array#get:length + local.set $len local.get $begin|4 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + if (result i32) + local.get $len + local.get $begin|4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 local.get $end|5 - i32.add - local.tee $11 i32.const 0 - local.tee $12 - local.get $11 - local.get $12 + i32.lt_s + if (result i32) + local.get $len + local.get $end|5 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 i32.gt_s select - else + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 1 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out local.get $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select + local.get $begin|4 + i32.sub + i32.const 1 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0 end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 1 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 1 - i32.shl - i32.store $0 offset=8 - local.get $out local.set $19 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $19 + return ) (func $~lib/typedarray/Uint32Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) (local $array i32) @@ -65269,112 +65880,116 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Uint32Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + call $~lib/typedarray/Uint32Array#get:length + local.set $len + local.get $begin|4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $begin|4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 + local.get $end|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end|5 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 local.get $begin|4 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 + local.tee $16 + local.get $15 + local.get $16 i32.gt_s select - else + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 - i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end|5 + i32.const 2 + i32.shl i32.add - local.tee $11 - i32.const 0 - local.tee $12 - local.get $11 - local.get $12 - i32.gt_s - select - else + i32.store $0 offset=4 + local.get $out local.get $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select + local.get $begin|4 + i32.sub + i32.const 2 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0 end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 2 - i32.shl - i32.store $0 offset=8 - local.get $out local.set $19 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $19 + return ) (func $~lib/typedarray/Int64Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) (local $array i32) @@ -65402,112 +66017,116 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Int64Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + call $~lib/typedarray/Int64Array#get:length + local.set $len local.get $begin|4 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + if (result i32) + local.get $len + local.get $begin|4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 local.get $end|5 - i32.add - local.tee $11 i32.const 0 - local.tee $12 - local.get $11 - local.get $12 + i32.lt_s + if (result i32) + local.get $len + local.get $end|5 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 i32.gt_s select - else + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 3 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out local.get $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select + local.get $begin|4 + i32.sub + i32.const 3 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0 end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 3 - i32.shl - i32.store $0 offset=8 - local.get $out local.set $19 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $19 + return ) (func $~lib/typedarray/Uint64Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) (local $array i32) @@ -65535,112 +66154,116 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + call $~lib/typedarray/Uint64Array#get:length + local.set $len local.get $begin|4 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + if (result i32) + local.get $len + local.get $begin|4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 local.get $end|5 - i32.add - local.tee $11 i32.const 0 - local.tee $12 - local.get $11 - local.get $12 + i32.lt_s + if (result i32) + local.get $len + local.get $end|5 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 i32.gt_s select - else + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 3 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out local.get $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select + local.get $begin|4 + i32.sub + i32.const 3 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0 end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 3 - i32.shl - i32.store $0 offset=8 - local.get $out local.set $19 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $19 + return ) (func $~lib/typedarray/Float32Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) (local $array i32) @@ -65668,112 +66291,116 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Float32Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $this + local.set $array + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + call $~lib/typedarray/Float32Array#get:length + local.set $len local.get $begin|4 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len + if (result i32) + local.get $len + local.get $begin|4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 local.get $end|5 - i32.add - local.tee $11 i32.const 0 - local.tee $12 - local.get $11 - local.get $12 + i32.lt_s + if (result i32) + local.get $len + local.get $end|5 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 i32.gt_s select - else + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 2 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out local.get $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select + local.get $begin|4 + i32.sub + i32.const 2 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0 end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 2 - i32.shl - i32.store $0 offset=8 - local.get $out local.set $19 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $19 + return ) (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $sign i32) @@ -65955,6 +66582,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $len i32) @@ -66098,6 +66726,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $22 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -66266,6 +66895,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/number/utoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $out i32) @@ -66412,6 +67042,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $12 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -66580,6 +67211,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -66748,6 +67380,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -66916,6 +67549,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -67084,6 +67718,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -67252,6 +67887,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/number/itoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) (local $sign i32) @@ -67475,6 +68111,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $18 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -67645,6 +68282,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/number/utoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) (local $out i32) @@ -67831,6 +68469,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $17 + return ) (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -67999,6 +68638,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $11 + return ) (func $~lib/util/number/dtoa (type $f64_=>_i32) (param $value f64) (result i32) (local $size i32) @@ -68082,6 +68722,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/util/string/joinFloatArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -68243,6 +68884,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/util/string/joinFloatArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -68401,6 +69043,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $10 + return ) (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $buffer i32) @@ -68441,6 +69084,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $~lib/typedarray/Uint8Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) (local $buffer|3 i32) @@ -68458,108 +69102,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 0 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if + block $~lib/typedarray/WRAP<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + local.get $buffer + local.set $buffer|3 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 0 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $len - i32.const -1 - i32.eq + i32.const 0 + i32.lt_s if - local.get $bufferByteLength - i32.const 0 - i32.and + local.get $len + i32.const -1 + i32.eq if + local.get $bufferByteLength + i32.const 0 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else i32.const 32 i32.const 608 - i32.const 1865 - i32.const 9 + i32.const 1869 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $len + i32.const 0 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - else - local.get $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 i32.const 0 - i32.shl - local.set $byteLength - local.get $byteOffset|4 + call $~lib/rt/itcms/__link + local.get $out local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Uint8Array,u8>|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/arraybuffer/ArrayBuffer#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) (local $length i32) @@ -68667,6 +69315,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $16 + return ) (func $~lib/typedarray/Int8Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) (local $buffer|3 i32) @@ -68684,108 +69333,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 0 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if + block $~lib/typedarray/WRAP<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $buffer + local.set $buffer|3 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 0 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $len - i32.const -1 - i32.eq + i32.const 0 + i32.lt_s if - local.get $bufferByteLength - i32.const 0 - i32.and + local.get $len + i32.const -1 + i32.eq if + local.get $bufferByteLength + i32.const 0 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else i32.const 32 i32.const 608 - i32.const 1865 - i32.const 9 + i32.const 1869 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $len + i32.const 0 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - else - local.get $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 i32.const 0 - i32.shl - local.set $byteLength - local.get $byteOffset|4 + call $~lib/rt/itcms/__link + local.get $out local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Int8Array,i8>|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/typedarray/Uint8ClampedArray.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) (local $buffer|3 i32) @@ -68803,108 +69456,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 0 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if + block $~lib/typedarray/WRAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + local.get $buffer + local.set $buffer|3 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 0 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $len - i32.const -1 - i32.eq + i32.const 0 + i32.lt_s if - local.get $bufferByteLength - i32.const 0 - i32.and + local.get $len + i32.const -1 + i32.eq if + local.get $bufferByteLength + i32.const 0 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else i32.const 32 i32.const 608 - i32.const 1865 - i32.const 9 + i32.const 1869 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $len + i32.const 0 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - else - local.get $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 i32.const 0 - i32.shl - local.set $byteLength - local.get $byteOffset|4 + call $~lib/rt/itcms/__link + local.get $out local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/typedarray/Int16Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) (local $buffer|3 i32) @@ -68922,108 +69579,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 1 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if + block $~lib/typedarray/WRAP<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $buffer + local.set $buffer|3 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 1 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $len - i32.const -1 - i32.eq + i32.const 0 + i32.lt_s if - local.get $bufferByteLength - i32.const 1 - i32.and + local.get $len + i32.const -1 + i32.eq if + local.get $bufferByteLength + i32.const 1 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else i32.const 32 i32.const 608 - i32.const 1865 - i32.const 9 + i32.const 1869 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $len + i32.const 1 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - else - local.get $len - i32.const 1 - i32.shl - local.set $byteLength - local.get $byteOffset|4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Int16Array,i16>|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/typedarray/Uint16Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) (local $buffer|3 i32) @@ -69041,108 +69702,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 1 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if + block $~lib/typedarray/WRAP<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $buffer + local.set $buffer|3 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 1 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $len - i32.const -1 - i32.eq + i32.const 0 + i32.lt_s if - local.get $bufferByteLength - i32.const 1 - i32.and + local.get $len + i32.const -1 + i32.eq if + local.get $bufferByteLength + i32.const 1 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else i32.const 32 i32.const 608 - i32.const 1865 - i32.const 9 + i32.const 1869 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $len + i32.const 1 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - else - local.get $len - i32.const 1 - i32.shl - local.set $byteLength - local.get $byteOffset|4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Uint16Array,u16>|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/typedarray/Int32Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) (local $buffer|3 i32) @@ -69160,108 +69825,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 3 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if + block $~lib/typedarray/WRAP<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $buffer + local.set $buffer|3 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 3 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $len - i32.const -1 - i32.eq + i32.const 0 + i32.lt_s if - local.get $bufferByteLength - i32.const 3 - i32.and + local.get $len + i32.const -1 + i32.eq if + local.get $bufferByteLength + i32.const 3 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else i32.const 32 i32.const 608 - i32.const 1865 - i32.const 9 + i32.const 1869 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $len + i32.const 2 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - else - local.get $len - i32.const 2 - i32.shl - local.set $byteLength - local.get $byteOffset|4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Int32Array,i32>|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/typedarray/Uint32Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) (local $buffer|3 i32) @@ -69279,108 +69948,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 3 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if + block $~lib/typedarray/WRAP<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $buffer + local.set $buffer|3 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 3 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $len - i32.const -1 - i32.eq + i32.const 0 + i32.lt_s if - local.get $bufferByteLength - i32.const 3 - i32.and + local.get $len + i32.const -1 + i32.eq if + local.get $bufferByteLength + i32.const 3 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else i32.const 32 i32.const 608 - i32.const 1865 - i32.const 9 + i32.const 1869 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $len + i32.const 2 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - else - local.get $len - i32.const 2 - i32.shl - local.set $byteLength - local.get $byteOffset|4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out local.get $byteLength - i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 + i32.add + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Uint32Array,u32>|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/typedarray/Int64Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) (local $buffer|3 i32) @@ -69398,108 +70071,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 7 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if + block $~lib/typedarray/WRAP<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $buffer + local.set $buffer|3 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 7 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $len - i32.const -1 - i32.eq + i32.const 0 + i32.lt_s if - local.get $bufferByteLength - i32.const 7 - i32.and + local.get $len + i32.const -1 + i32.eq if + local.get $bufferByteLength + i32.const 7 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else i32.const 32 i32.const 608 - i32.const 1865 - i32.const 9 + i32.const 1869 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $len + i32.const 3 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - else - local.get $len - i32.const 3 - i32.shl - local.set $byteLength - local.get $byteOffset|4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Int64Array,i64>|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/typedarray/Uint64Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) (local $buffer|3 i32) @@ -69517,108 +70194,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 7 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if + block $~lib/typedarray/WRAP<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $buffer + local.set $buffer|3 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 7 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $len - i32.const -1 - i32.eq + i32.const 0 + i32.lt_s if - local.get $bufferByteLength - i32.const 7 - i32.and + local.get $len + i32.const -1 + i32.eq if + local.get $bufferByteLength + i32.const 7 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else i32.const 32 i32.const 608 - i32.const 1865 - i32.const 9 + i32.const 1869 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $len + i32.const 3 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - else - local.get $len - i32.const 3 - i32.shl - local.set $byteLength - local.get $byteOffset|4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Uint64Array,u64>|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/typedarray/Float32Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) (local $buffer|3 i32) @@ -69636,108 +70317,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 3 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if + block $~lib/typedarray/WRAP<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $buffer + local.set $buffer|3 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 3 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $len - i32.const -1 - i32.eq + i32.const 0 + i32.lt_s if - local.get $bufferByteLength - i32.const 3 - i32.and + local.get $len + i32.const -1 + i32.eq if + local.get $bufferByteLength + i32.const 3 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else i32.const 32 i32.const 608 - i32.const 1865 - i32.const 9 + i32.const 1869 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $len + i32.const 2 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - else - local.get $len - i32.const 2 - i32.shl - local.set $byteLength - local.get $byteOffset|4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Float32Array,f32>|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/typedarray/Float64Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) (local $buffer|3 i32) @@ -69755,108 +70440,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 7 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if + block $~lib/typedarray/WRAP<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $buffer + local.set $buffer|3 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 7 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $len - i32.const -1 - i32.eq + i32.const 0 + i32.lt_s if - local.get $bufferByteLength - i32.const 7 - i32.and + local.get $len + i32.const -1 + i32.eq if + local.get $bufferByteLength + i32.const 7 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else i32.const 32 i32.const 608 - i32.const 1865 - i32.const 9 + i32.const 1869 + i32.const 7 call $~lib/builtins/abort unreachable end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $len + i32.const 3 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - else - local.get $len - i32.const 3 - i32.shl - local.set $byteLength - local.get $byteOffset|4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Float64Array,f64>|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 + return ) (func $~lib/typedarray/Int8Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) (local $2 i32) diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 53323667f4..e863cc08af 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -22533,7 +22533,7 @@ (local $6 i32) local.get $0 i32.load $0 offset=4 - local.set $3 + local.set $5 local.get $0 i32.load $0 offset=8 local.set $0 @@ -22559,7 +22559,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $2 + local.tee $6 i32.const 0 i32.lt_s if @@ -22571,10 +22571,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $2 + local.get $6 i32.eqz if - local.get $3 + local.get $5 i32.load8_s $0 call $~lib/util/number/itoa32 local.set $0 @@ -22592,26 +22592,24 @@ local.tee $4 i32.const 11 i32.add - local.get $2 + local.get $6 i32.mul i32.const 11 i32.add - local.tee $6 + local.tee $2 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $2 - local.get $5 - i32.gt_s + local.get $3 + local.get $6 + i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -22620,13 +22618,13 @@ i32.add i32.load8_s $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 + local.set $1 local.get $4 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -22635,36 +22633,36 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 + local.get $1 local.get $4 i32.add - local.set $0 + local.set $1 end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $1 + local.get $2 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $2 - local.get $3 + local.get $5 + local.get $6 i32.add i32.load8_s $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -22677,8 +22675,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end local.get $0 ) @@ -22847,7 +22843,7 @@ (local $6 i32) local.get $0 i32.load $0 offset=4 - local.set $3 + local.set $5 local.get $0 i32.load $0 offset=8 local.set $0 @@ -22873,7 +22869,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $2 + local.tee $6 i32.const 0 i32.lt_s if @@ -22885,10 +22881,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $2 + local.get $6 i32.eqz if - local.get $3 + local.get $5 i32.load8_u $0 call $~lib/util/number/utoa32 local.set $0 @@ -22906,26 +22902,24 @@ local.tee $4 i32.const 10 i32.add - local.get $2 + local.get $6 i32.mul i32.const 10 i32.add - local.tee $6 + local.tee $2 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $2 - local.get $5 - i32.gt_s + local.get $3 + local.get $6 + i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -22934,13 +22928,13 @@ i32.add i32.load8_u $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 + local.set $1 local.get $4 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -22949,36 +22943,36 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 + local.get $1 local.get $4 i32.add - local.set $0 + local.set $1 end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $1 + local.get $2 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $2 - local.get $3 + local.get $5 + local.get $6 i32.add i32.load8_u $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -22991,8 +22985,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end local.get $0 ) @@ -23116,7 +23108,7 @@ (local $6 i32) local.get $0 i32.load $0 offset=4 - local.set $3 + local.set $5 local.get $0 i32.load $0 offset=8 i32.const 1 @@ -23144,7 +23136,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $2 + local.tee $6 i32.const 0 i32.lt_s if @@ -23156,10 +23148,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $2 + local.get $6 i32.eqz if - local.get $3 + local.get $5 i32.load16_s $0 call $~lib/util/number/itoa32 local.set $0 @@ -23177,43 +23169,41 @@ local.tee $4 i32.const 11 i32.add - local.get $2 + local.get $6 i32.mul i32.const 11 i32.add - local.tee $6 + local.tee $2 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $2 - local.get $5 - i32.gt_s + local.get $3 + local.get $6 + i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $3 local.get $5 + local.get $3 i32.const 1 i32.shl i32.add i32.load16_s $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 + local.set $1 local.get $4 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -23222,38 +23212,38 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 + local.get $1 local.get $4 i32.add - local.set $0 + local.set $1 end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $1 + local.get $2 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $3 - local.get $2 + local.get $5 + local.get $6 i32.const 1 i32.shl i32.add i32.load16_s $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -23266,8 +23256,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end local.get $0 ) @@ -23329,7 +23317,7 @@ (local $6 i32) local.get $0 i32.load $0 offset=4 - local.set $3 + local.set $5 local.get $0 i32.load $0 offset=8 i32.const 1 @@ -23357,7 +23345,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $2 + local.tee $6 i32.const 0 i32.lt_s if @@ -23369,10 +23357,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $2 + local.get $6 i32.eqz if - local.get $3 + local.get $5 i32.load16_u $0 call $~lib/util/number/utoa32 local.set $0 @@ -23390,43 +23378,41 @@ local.tee $4 i32.const 10 i32.add - local.get $2 + local.get $6 i32.mul i32.const 10 i32.add - local.tee $6 + local.tee $2 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $2 - local.get $5 - i32.gt_s + local.get $3 + local.get $6 + i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $3 local.get $5 + local.get $3 i32.const 1 i32.shl i32.add i32.load16_u $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 + local.set $1 local.get $4 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -23435,38 +23421,38 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 + local.get $1 local.get $4 i32.add - local.set $0 + local.set $1 end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $1 + local.get $2 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $3 - local.get $2 + local.get $5 + local.get $6 i32.const 1 i32.shl i32.add i32.load16_u $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -23479,8 +23465,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end local.get $0 ) @@ -23582,7 +23566,7 @@ (local $6 i32) local.get $0 i32.load $0 offset=4 - local.set $3 + local.set $5 local.get $0 i32.load $0 offset=8 i32.const 2 @@ -23610,7 +23594,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $2 + local.tee $6 i32.const 0 i32.lt_s if @@ -23622,10 +23606,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $2 + local.get $6 i32.eqz if - local.get $3 + local.get $5 i32.load $0 call $~lib/util/number/itoa32 local.set $0 @@ -23643,43 +23627,41 @@ local.tee $4 i32.const 11 i32.add - local.get $2 + local.get $6 i32.mul i32.const 11 i32.add - local.tee $6 + local.tee $2 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $2 - local.get $5 - i32.gt_s + local.get $3 + local.get $6 + i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $3 local.get $5 + local.get $3 i32.const 2 i32.shl i32.add i32.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 + local.set $1 local.get $4 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -23688,38 +23670,38 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 + local.get $1 local.get $4 i32.add - local.set $0 + local.set $1 end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $1 + local.get $2 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $3 - local.get $2 + local.get $5 + local.get $6 i32.const 2 i32.shl i32.add i32.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -23732,8 +23714,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end local.get $0 ) @@ -23811,7 +23791,7 @@ (local $6 i32) local.get $0 i32.load $0 offset=4 - local.set $3 + local.set $5 local.get $0 i32.load $0 offset=8 i32.const 2 @@ -23839,7 +23819,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $2 + local.tee $6 i32.const 0 i32.lt_s if @@ -23851,10 +23831,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $2 + local.get $6 i32.eqz if - local.get $3 + local.get $5 i32.load $0 call $~lib/util/number/utoa32 local.set $0 @@ -23872,43 +23852,41 @@ local.tee $4 i32.const 10 i32.add - local.get $2 + local.get $6 i32.mul i32.const 10 i32.add - local.tee $6 + local.tee $2 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $2 - local.get $5 - i32.gt_s + local.get $3 + local.get $6 + i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $3 local.get $5 + local.get $3 i32.const 2 i32.shl i32.add i32.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 + local.set $1 local.get $4 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -23917,38 +23895,38 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 + local.get $1 local.get $4 i32.add - local.set $0 + local.set $1 end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $1 + local.get $2 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $3 - local.get $2 + local.get $5 + local.get $6 i32.const 2 i32.shl i32.add i32.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -23961,8 +23939,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end local.get $0 ) @@ -24291,7 +24267,7 @@ i32.wrap_i64 i32.const 1 i32.shl - local.tee $1 + local.tee $0 select local.tee $2 i64.const 4294967295 @@ -24349,11 +24325,11 @@ local.tee $4 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 $1 i32.store $0 local.get $0 local.get $1 @@ -24416,11 +24392,11 @@ 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 $1 i32.store $0 local.get $0 local.get $1 @@ -24429,9 +24405,9 @@ local.get $3 call $~lib/util/number/utoa64_dec_lut end - local.get $1 + local.get $0 if - local.get $0 + local.get $1 i32.const 45 i32.store16 $0 end @@ -24439,7 +24415,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 end local.set $0 global.get $~lib/memory/__stack_pointer @@ -24465,17 +24441,15 @@ i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 local.get $3 local.get $6 i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -24486,13 +24460,13 @@ i32.add i64.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 + local.set $1 local.get $7 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -24501,10 +24475,10 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 + local.get $1 local.get $7 i32.add - local.set $0 + local.set $1 end local.get $3 i32.const 1 @@ -24513,8 +24487,8 @@ br $for-loop|0 end end - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -24525,14 +24499,14 @@ i32.add i64.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 local.get $4 i32.lt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -24545,8 +24519,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end local.get $0 return @@ -24692,15 +24664,15 @@ ) (func $~lib/typedarray/Uint64Array#join (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) - (local $2 i64) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 i64) local.get $0 i32.load $0 offset=4 - local.set $7 + local.set $2 local.get $0 i32.load $0 offset=8 i32.const 3 @@ -24722,7 +24694,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $6 + local.tee $3 i32.const 0 i32.lt_s if @@ -24734,13 +24706,13 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $6 + local.get $3 i32.eqz if block $__inlined_func$~lib/util/number/utoa64 (result i32) - local.get $7 + local.get $2 i64.load $0 - local.set $2 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24752,7 +24724,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $2 + local.get $7 i64.eqz if global.get $~lib/memory/__stack_pointer @@ -24762,60 +24734,60 @@ i32.const 8000 br $__inlined_func$~lib/util/number/utoa64 end - local.get $2 + local.get $7 i64.const 4294967295 i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 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 end end - local.tee $3 + local.tee $1 i32.const 1 i32.shl i32.const 2 @@ -24823,56 +24795,56 @@ local.tee $0 i32.store $0 local.get $0 + local.get $2 local.get $1 - local.get $3 call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i64.const 1000000000000000 i64.lt_u if (result i32) - local.get $2 + local.get $7 i64.const 1000000000000 i64.lt_u if (result i32) - local.get $2 + local.get $7 i64.const 100000000000 i64.ge_u i32.const 10 i32.add - local.get $2 + local.get $7 i64.const 10000000000 i64.ge_u i32.add else - local.get $2 + local.get $7 i64.const 100000000000000 i64.ge_u i32.const 13 i32.add - local.get $2 + local.get $7 i64.const 10000000000000 i64.ge_u i32.add end else - local.get $2 + local.get $7 i64.const 100000000000000000 i64.lt_u if (result i32) - local.get $2 + local.get $7 i64.const 10000000000000000 i64.ge_u i32.const 16 i32.add else - local.get $2 + local.get $7 i64.const -8446744073709551616 i64.ge_u i32.const 18 i32.add - local.get $2 + local.get $7 i64.const 1000000000000000000 i64.ge_u i32.add @@ -24886,7 +24858,7 @@ local.tee $0 i32.store $0 local.get $0 - local.get $2 + local.get $7 local.get $1 call $~lib/util/number/utoa64_dec_lut end @@ -24908,86 +24880,84 @@ i32.load $0 i32.const 1 i32.shr_u - local.tee $3 + local.tee $6 i32.const 20 i32.add - local.get $6 + local.get $3 i32.mul i32.const 20 i32.add - local.tee $5 + local.tee $4 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $4 - local.get $6 - i32.lt_s + local.get $3 + local.get $5 + i32.gt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $7 - local.get $4 + local.get $2 + local.get $5 i32.const 3 i32.shl i32.add i64.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 - local.get $3 + local.set $1 + local.get $6 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.const 9584 - local.get $3 + local.get $6 i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 - local.get $3 + local.get $1 + local.get $6 i32.add - local.set $0 + local.set $1 end - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|0 end end - local.get $5 - local.get $1 + local.get $4 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $7 - local.get $6 + local.get $2 + local.get $3 i32.const 3 i32.shl i32.add i64.load $0 call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -25000,8 +24970,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end local.get $0 return @@ -26125,7 +26093,7 @@ (local $6 i32) local.get $0 i32.load $0 offset=4 - local.set $3 + local.set $5 local.get $0 i32.load $0 offset=8 i32.const 2 @@ -26153,7 +26121,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $2 + local.tee $6 i32.const 0 i32.lt_s if @@ -26165,10 +26133,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinFloatArray end - local.get $2 + local.get $6 i32.eqz if - local.get $3 + local.get $5 f32.load $0 f64.promote_f32 call $~lib/util/number/dtoa @@ -26187,44 +26155,42 @@ local.tee $4 i32.const 28 i32.add - local.get $2 + local.get $6 i32.mul i32.const 28 i32.add - local.tee $6 + local.tee $2 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $2 - local.get $5 - i32.gt_s + local.get $3 + local.get $6 + i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $3 local.get $5 + local.get $3 i32.const 2 i32.shl i32.add f32.load $0 f64.promote_f32 call $~lib/util/number/dtoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 + local.set $1 local.get $4 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -26233,39 +26199,39 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 + local.get $1 local.get $4 i32.add - local.set $0 + local.set $1 end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $1 + local.get $2 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $3 - local.get $2 + local.get $5 + local.get $6 i32.const 2 i32.shl i32.add f32.load $0 f64.promote_f32 call $~lib/util/number/dtoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -26278,8 +26244,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end local.get $0 ) @@ -26292,7 +26256,7 @@ (local $6 i32) local.get $0 i32.load $0 offset=4 - local.set $3 + local.set $5 local.get $0 i32.load $0 offset=8 i32.const 3 @@ -26320,7 +26284,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $2 + local.tee $6 i32.const 0 i32.lt_s if @@ -26332,10 +26296,10 @@ local.set $0 br $__inlined_func$~lib/util/string/joinFloatArray end - local.get $2 + local.get $6 i32.eqz if - local.get $3 + local.get $5 f64.load $0 call $~lib/util/number/dtoa local.set $0 @@ -26353,43 +26317,41 @@ local.tee $4 i32.const 28 i32.add - local.get $2 + local.get $6 i32.mul i32.const 28 i32.add - local.tee $6 + local.tee $2 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 - i32.const 0 - local.set $0 loop $for-loop|0 - local.get $2 - local.get $5 - i32.gt_s + local.get $3 + local.get $6 + i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $3 local.get $5 + local.get $3 i32.const 3 i32.shl i32.add f64.load $0 call $~lib/util/number/dtoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 + local.set $1 local.get $4 if - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -26398,38 +26360,38 @@ i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 + local.get $1 local.get $4 i32.add - local.set $0 + local.set $1 end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $1 + local.get $2 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $3 - local.get $2 + local.get $5 + local.get $6 i32.const 3 i32.shl i32.add f64.load $0 call $~lib/util/number/dtoa_buffered - local.get $0 + local.get $1 i32.add - local.tee $0 + local.tee $1 i32.gt_s if - local.get $1 local.get $0 + local.get $1 call $~lib/string/String#substring local.set $0 global.get $~lib/memory/__stack_pointer @@ -26442,8 +26404,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 end local.get $0 ) @@ -35253,7 +35213,7 @@ i32.const 5 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 3952 i32.store $0 offset=4 @@ -35276,30 +35236,30 @@ i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $8 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $3 i32.store $0 offset=4 local.get $7 i32.load $0 offset=4 - local.set $5 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if local.get $1 - local.get $5 + local.get $6 i32.add i32.load8_s $0 - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 local.get $7 i32.const 3952 @@ -35307,9 +35267,9 @@ call_indirect $0 (type $i32_i32_i32_=>_i32) if local.get $0 - local.get $8 - i32.add local.get $3 + i32.add + local.get $4 i32.store8 $0 local.get $0 i32.const 1 @@ -35323,34 +35283,34 @@ br $for-loop|0 end end - local.get $6 local.get $8 + local.get $3 local.get $0 call $~lib/rt/itcms/__renew local.tee $1 i32.store $0 local.get $1 if - local.get $6 + local.get $8 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 + local.get $8 local.get $0 i32.store $0 offset=8 - local.get $6 + local.get $8 local.get $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 + local.get $5 + local.get $8 i32.store $0 offset=8 - local.get $6 + local.get $8 i32.load $0 offset=4 - local.get $6 + local.get $8 i32.load $0 i32.sub if @@ -35361,7 +35321,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.load $0 offset=8 i32.const 3 i32.ne @@ -35373,7 +35333,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 3 @@ -35386,7 +35346,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 4 @@ -35399,7 +35359,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 5 @@ -35477,7 +35437,7 @@ i32.const 5 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 3984 i32.store $0 offset=4 @@ -35500,30 +35460,30 @@ i32.const 12 i32.const 5 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $8 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $3 i32.store $0 offset=4 local.get $7 i32.load $0 offset=4 - local.set $5 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if local.get $1 - local.get $5 + local.get $6 i32.add i32.load8_u $0 - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 local.get $7 i32.const 3984 @@ -35531,9 +35491,9 @@ call_indirect $0 (type $i32_i32_i32_=>_i32) if local.get $0 - local.get $8 - i32.add local.get $3 + i32.add + local.get $4 i32.store8 $0 local.get $0 i32.const 1 @@ -35547,34 +35507,34 @@ br $for-loop|0 end end - local.get $6 local.get $8 + local.get $3 local.get $0 call $~lib/rt/itcms/__renew local.tee $1 i32.store $0 local.get $1 if - local.get $6 + local.get $8 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 + local.get $8 local.get $0 i32.store $0 offset=8 - local.get $6 + local.get $8 local.get $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 + local.get $5 + local.get $8 i32.store $0 offset=8 - local.get $6 + local.get $8 i32.load $0 offset=4 - local.get $6 + local.get $8 i32.load $0 i32.sub if @@ -35585,7 +35545,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.load $0 offset=8 i32.const 3 i32.ne @@ -35597,7 +35557,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 0 call $~lib/typedarray/Uint8Array#__get i32.const 3 @@ -35610,7 +35570,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 4 @@ -35623,7 +35583,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 5 @@ -35701,7 +35661,7 @@ i32.const 5 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4016 i32.store $0 offset=4 @@ -35724,30 +35684,30 @@ i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $8 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $3 i32.store $0 offset=4 local.get $7 i32.load $0 offset=4 - local.set $5 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if local.get $1 - local.get $5 + local.get $6 i32.add i32.load8_u $0 - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 local.get $7 i32.const 4016 @@ -35755,9 +35715,9 @@ call_indirect $0 (type $i32_i32_i32_=>_i32) if local.get $0 - local.get $8 - i32.add local.get $3 + i32.add + local.get $4 i32.store8 $0 local.get $0 i32.const 1 @@ -35771,34 +35731,34 @@ br $for-loop|0 end end - local.get $6 local.get $8 + local.get $3 local.get $0 call $~lib/rt/itcms/__renew local.tee $1 i32.store $0 local.get $1 if - local.get $6 + local.get $8 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 + local.get $8 local.get $0 i32.store $0 offset=8 - local.get $6 + local.get $8 local.get $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 + local.get $5 + local.get $8 i32.store $0 offset=8 - local.get $6 + local.get $8 i32.load $0 offset=4 - local.get $6 + local.get $8 i32.load $0 i32.sub if @@ -35809,7 +35769,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.load $0 offset=8 i32.const 3 i32.ne @@ -35821,7 +35781,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 @@ -35834,7 +35794,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 4 @@ -35847,7 +35807,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 5 @@ -35925,7 +35885,7 @@ i32.const 5 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4048 i32.store $0 offset=4 @@ -35950,7 +35910,7 @@ i32.const 12 i32.const 7 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $8 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -35958,38 +35918,38 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $3 i32.store $0 offset=4 local.get $7 i32.load $0 offset=4 - local.set $5 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if - local.get $5 + local.get $6 local.get $1 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 local.get $7 i32.const 4048 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $8 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add - local.get $3 + local.get $4 i32.store16 $0 local.get $0 i32.const 1 @@ -36003,8 +35963,8 @@ br $for-loop|0 end end - local.get $6 local.get $8 + local.get $3 local.get $0 i32.const 1 i32.shl @@ -36014,26 +35974,26 @@ i32.store $0 local.get $1 if - local.get $6 + local.get $8 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 + local.get $8 local.get $0 i32.store $0 offset=8 - local.get $6 + local.get $8 local.get $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 + local.get $5 + local.get $8 i32.store $0 offset=8 - local.get $6 + local.get $8 i32.load $0 offset=4 - local.get $6 + local.get $8 i32.load $0 i32.sub if @@ -36044,7 +36004,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.load $0 offset=8 i32.const 1 i32.shr_u @@ -36058,7 +36018,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 0 call $~lib/typedarray/Int16Array#__get i32.const 3 @@ -36071,7 +36031,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 4 @@ -36084,7 +36044,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 5 @@ -36162,7 +36122,7 @@ i32.const 5 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4080 i32.store $0 offset=4 @@ -36187,7 +36147,7 @@ i32.const 12 i32.const 8 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $8 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -36195,38 +36155,38 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $3 i32.store $0 offset=4 local.get $7 i32.load $0 offset=4 - local.set $5 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if - local.get $5 + local.get $6 local.get $1 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 local.get $7 i32.const 4080 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $8 + local.get $3 local.get $0 i32.const 1 i32.shl i32.add - local.get $3 + local.get $4 i32.store16 $0 local.get $0 i32.const 1 @@ -36240,8 +36200,8 @@ br $for-loop|0 end end - local.get $6 local.get $8 + local.get $3 local.get $0 i32.const 1 i32.shl @@ -36251,26 +36211,26 @@ i32.store $0 local.get $1 if - local.get $6 + local.get $8 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 + local.get $8 local.get $0 i32.store $0 offset=8 - local.get $6 + local.get $8 local.get $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 + local.get $5 + local.get $8 i32.store $0 offset=8 - local.get $6 + local.get $8 i32.load $0 offset=4 - local.get $6 + local.get $8 i32.load $0 i32.sub if @@ -36281,7 +36241,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.load $0 offset=8 i32.const 1 i32.shr_u @@ -36295,7 +36255,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 0 call $~lib/typedarray/Uint16Array#__get i32.const 3 @@ -36308,7 +36268,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 4 @@ -36321,7 +36281,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 5 @@ -36399,7 +36359,7 @@ i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4112 i32.store $0 offset=4 @@ -36424,7 +36384,7 @@ i32.const 12 i32.const 9 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $8 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -36432,38 +36392,38 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $3 i32.store $0 offset=4 local.get $7 i32.load $0 offset=4 - local.set $5 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if - local.get $5 + local.get $6 local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 local.get $7 i32.const 4112 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $8 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add - local.get $3 + local.get $4 i32.store $0 local.get $0 i32.const 1 @@ -36477,8 +36437,8 @@ br $for-loop|0 end end - local.get $6 local.get $8 + local.get $3 local.get $0 i32.const 2 i32.shl @@ -36488,26 +36448,26 @@ i32.store $0 local.get $1 if - local.get $6 + local.get $8 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 + local.get $8 local.get $0 i32.store $0 offset=8 - local.get $6 + local.get $8 local.get $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 + local.get $5 + local.get $8 i32.store $0 offset=8 - local.get $6 + local.get $8 i32.load $0 offset=4 - local.get $6 + local.get $8 i32.load $0 i32.sub if @@ -36518,7 +36478,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -36532,7 +36492,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 3 @@ -36545,7 +36505,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 4 @@ -36558,7 +36518,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 5 @@ -36636,7 +36596,7 @@ i32.const 5 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4144 i32.store $0 offset=4 @@ -36661,7 +36621,7 @@ i32.const 12 i32.const 10 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $8 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -36669,38 +36629,38 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $3 i32.store $0 offset=4 local.get $7 i32.load $0 offset=4 - local.set $5 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if - local.get $5 + local.get $6 local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 local.get $7 i32.const 4144 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $8 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add - local.get $3 + local.get $4 i32.store $0 local.get $0 i32.const 1 @@ -36714,8 +36674,8 @@ br $for-loop|0 end end - local.get $6 local.get $8 + local.get $3 local.get $0 i32.const 2 i32.shl @@ -36725,26 +36685,26 @@ i32.store $0 local.get $1 if - local.get $6 + local.get $8 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 + local.get $8 local.get $0 i32.store $0 offset=8 - local.get $6 + local.get $8 local.get $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 + local.get $5 + local.get $8 i32.store $0 offset=8 - local.get $6 + local.get $8 i32.load $0 offset=4 - local.get $6 + local.get $8 i32.load $0 i32.sub if @@ -36755,7 +36715,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -36769,7 +36729,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 0 call $~lib/typedarray/Uint32Array#__get i32.const 3 @@ -36782,7 +36742,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 4 @@ -36795,7 +36755,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 5 @@ -36825,8 +36785,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i64) - (local $4 i32) + (local $3 i32) + (local $4 i64) (local $5 i32) (local $6 i32) (local $7 i32) @@ -36873,7 +36833,7 @@ i64.const 5 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4176 i32.store $0 offset=4 @@ -36886,7 +36846,7 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $3 i64.const 0 i64.store $0 local.get $7 @@ -36894,11 +36854,11 @@ i32.const 3 i32.shr_u local.set $2 - local.get $5 + local.get $3 i32.const 12 i32.const 11 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $8 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -36906,38 +36866,38 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $3 i32.store $0 offset=4 local.get $7 i32.load $0 offset=4 - local.set $5 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if - local.get $5 + local.get $6 local.get $1 i32.const 3 i32.shl i32.add i64.load $0 - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 local.get $7 i32.const 4176 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) if - local.get $8 + local.get $3 local.get $0 i32.const 3 i32.shl i32.add - local.get $3 + local.get $4 i64.store $0 local.get $0 i32.const 1 @@ -36951,8 +36911,8 @@ br $for-loop|0 end end - local.get $6 local.get $8 + local.get $3 local.get $0 i32.const 3 i32.shl @@ -36962,26 +36922,26 @@ i32.store $0 local.get $1 if - local.get $6 + local.get $8 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 + local.get $8 local.get $0 i32.store $0 offset=8 - local.get $6 + local.get $8 local.get $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 + local.get $5 + local.get $8 i32.store $0 offset=8 - local.get $6 + local.get $8 i32.load $0 offset=4 - local.get $6 + local.get $8 i32.load $0 i32.sub if @@ -36992,7 +36952,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.load $0 offset=8 i32.const 3 i32.shr_u @@ -37006,7 +36966,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 0 call $~lib/typedarray/Int64Array#__get i64.const 3 @@ -37019,7 +36979,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 4 @@ -37032,7 +36992,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 5 @@ -37062,8 +37022,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i64) - (local $4 i32) + (local $3 i32) + (local $4 i64) (local $5 i32) (local $6 i32) (local $7 i32) @@ -37110,7 +37070,7 @@ i64.const 5 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4208 i32.store $0 offset=4 @@ -37123,7 +37083,7 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $3 i64.const 0 i64.store $0 local.get $7 @@ -37131,11 +37091,11 @@ i32.const 3 i32.shr_u local.set $2 - local.get $5 + local.get $3 i32.const 12 i32.const 12 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $8 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -37143,38 +37103,38 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $3 i32.store $0 offset=4 local.get $7 i32.load $0 offset=4 - local.set $5 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if - local.get $5 + local.get $6 local.get $1 i32.const 3 i32.shl i32.add i64.load $0 - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 local.get $7 i32.const 4208 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) if - local.get $8 + local.get $3 local.get $0 i32.const 3 i32.shl i32.add - local.get $3 + local.get $4 i64.store $0 local.get $0 i32.const 1 @@ -37188,8 +37148,8 @@ br $for-loop|0 end end - local.get $6 local.get $8 + local.get $3 local.get $0 i32.const 3 i32.shl @@ -37199,26 +37159,26 @@ i32.store $0 local.get $1 if - local.get $6 + local.get $8 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 + local.get $8 local.get $0 i32.store $0 offset=8 - local.get $6 + local.get $8 local.get $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 + local.get $5 + local.get $8 i32.store $0 offset=8 - local.get $6 + local.get $8 i32.load $0 offset=4 - local.get $6 + local.get $8 i32.load $0 i32.sub if @@ -37229,7 +37189,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.load $0 offset=8 i32.const 3 i32.shr_u @@ -37243,7 +37203,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 0 call $~lib/typedarray/Uint64Array#__get i64.const 3 @@ -37256,7 +37216,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 4 @@ -37269,7 +37229,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 5 @@ -37299,8 +37259,8 @@ (local $0 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) @@ -37347,7 +37307,7 @@ f32.const 5 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4240 i32.store $0 offset=4 @@ -37360,7 +37320,7 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $3 i64.const 0 i64.store $0 local.get $7 @@ -37368,11 +37328,11 @@ i32.const 2 i32.shr_u local.set $2 - local.get $5 + local.get $3 i32.const 12 i32.const 13 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $8 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -37380,38 +37340,38 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $3 i32.store $0 offset=4 local.get $7 i32.load $0 offset=4 - local.set $5 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if - local.get $5 + local.get $6 local.get $1 i32.const 2 i32.shl i32.add f32.load $0 - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 local.get $7 i32.const 4240 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) if - local.get $8 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add - local.get $3 + local.get $4 f32.store $0 local.get $0 i32.const 1 @@ -37425,8 +37385,8 @@ br $for-loop|0 end end - local.get $6 local.get $8 + local.get $3 local.get $0 i32.const 2 i32.shl @@ -37436,26 +37396,26 @@ i32.store $0 local.get $1 if - local.get $6 + local.get $8 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 + local.get $8 local.get $0 i32.store $0 offset=8 - local.get $6 + local.get $8 local.get $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 + local.get $5 + local.get $8 i32.store $0 offset=8 - local.get $6 + local.get $8 i32.load $0 offset=4 - local.get $6 + local.get $8 i32.load $0 i32.sub if @@ -37466,7 +37426,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.load $0 offset=8 i32.const 2 i32.shr_u @@ -37480,7 +37440,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 0 call $~lib/typedarray/Float32Array#__get f32.const 3 @@ -37493,7 +37453,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 4 @@ -37506,7 +37466,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 5 @@ -37536,8 +37496,8 @@ (local $0 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) @@ -37584,7 +37544,7 @@ f64.const 5 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4272 i32.store $0 offset=4 @@ -37597,7 +37557,7 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $3 i64.const 0 i64.store $0 local.get $7 @@ -37605,11 +37565,11 @@ i32.const 3 i32.shr_u local.set $2 - local.get $5 + local.get $3 i32.const 12 i32.const 14 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $8 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -37617,38 +37577,38 @@ i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $3 i32.store $0 offset=4 local.get $7 i32.load $0 offset=4 - local.set $5 + local.set $6 loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if - local.get $5 + local.get $6 local.get $1 i32.const 3 i32.shl i32.add f64.load $0 - local.set $3 + local.set $4 i32.const 3 global.set $~argumentsLength - local.get $3 + local.get $4 local.get $1 local.get $7 i32.const 4272 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) if - local.get $8 + local.get $3 local.get $0 i32.const 3 i32.shl i32.add - local.get $3 + local.get $4 f64.store $0 local.get $0 i32.const 1 @@ -37662,8 +37622,8 @@ br $for-loop|0 end end - local.get $6 local.get $8 + local.get $3 local.get $0 i32.const 3 i32.shl @@ -37673,26 +37633,26 @@ i32.store $0 local.get $1 if - local.get $6 + local.get $8 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 + local.get $8 local.get $0 i32.store $0 offset=8 - local.get $6 + local.get $8 local.get $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 + local.get $5 + local.get $8 i32.store $0 offset=8 - local.get $6 + local.get $8 i32.load $0 offset=4 - local.get $6 + local.get $8 i32.load $0 i32.sub if @@ -37703,7 +37663,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.load $0 offset=8 i32.const 3 i32.shr_u @@ -37717,7 +37677,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 0 call $~lib/typedarray/Float64Array#__get f64.const 3 @@ -37730,7 +37690,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 4 @@ -37743,7 +37703,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $8 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 5 @@ -39327,7 +39287,7 @@ local.set $8 i32.const 0 local.set $0 - loop $for-loop|014 + loop $for-loop|013 local.get $0 local.get $3 i32.lt_s @@ -39359,7 +39319,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|014 + br $for-loop|013 end end i32.const 10 @@ -39403,7 +39363,7 @@ local.set $5 i32.const 0 local.set $0 - loop $for-loop|022 + loop $for-loop|020 local.get $0 local.get $3 i32.lt_s @@ -39433,7 +39393,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|022 + br $for-loop|020 end end i32.const 10 @@ -42018,2057 +41978,2054 @@ i32.const 120 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner36 - block $folding-inner35 - block $folding-inner34 - block $folding-inner33 - block $folding-inner32 - block $folding-inner31 - block $folding-inner30 - block $folding-inner29 - block $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 120 - memory.fill $0 - memory.size $0 - i32.const 16 - i32.shl - i32.const 49088 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1284 - i32.const 1280 - i32.store $0 - i32.const 1288 - i32.const 1280 - i32.store $0 - i32.const 1280 - global.set $~lib/rt/itcms/pinSpace - i32.const 1316 - i32.const 1312 - i32.store $0 - i32.const 1320 - i32.const 1312 - i32.store $0 - i32.const 1312 - global.set $~lib/rt/itcms/toSpace - i32.const 1460 - i32.const 1456 - i32.store $0 - i32.const 1464 - i32.const 1456 - i32.store $0 - i32.const 1456 - global.set $~lib/rt/itcms/fromSpace - i32.const 0 - call $std/typedarray/testInstantiate - i32.const 5 - call $std/typedarray/testInstantiate - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 95 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 96 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 97 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 98 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 99 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 100 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#subarray - local.tee $2 - i32.store $0 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 103 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 104 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 105 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 106 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - call $~lib/typedarray/Float64Array#constructor - local.tee $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 2 - f64.const 7 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 3 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 5 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 6 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 7 - f64.const 8 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Float64Array#subarray - local.tee $2 - i32.store $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 122 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - i32.const 16 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 123 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 32 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 124 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $~argumentsLength - local.get $2 - call $~lib/typedarray/Float64Array#sort@varargs - drop - local.get $2 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.eq - if (result i32) - local.get $2 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.eq - else - i32.const 0 - end - if (result i32) - local.get $2 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 6 - f64.eq - else - i32.const 0 - end - if (result i32) - local.get $2 - i32.const 3 - call $~lib/typedarray/Float64Array#__get - f64.const 7 - f64.eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 126 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 - i32.store $0 offset=8 - local.get $2 - i32.const 0 - i32.const -32 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 2 - i32.const 256 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - if - i32.const 0 - i32.const 1568 - i32.const 135 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 136 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 255 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 137 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int8Array#constructor - local.tee $7 - i32.store $0 offset=12 - local.get $7 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.load $0 offset=4 - local.set $4 - i32.const 1 - local.get $7 - i32.load $0 offset=8 - local.tee $2 - local.get $2 - i32.const 1 - i32.gt_s - select - local.tee $3 - i32.const 3 - local.get $2 - local.get $2 - i32.const 3 - i32.gt_s - select - local.tee $2 - i32.lt_s - if - local.get $3 - local.get $4 - i32.add - i32.const 1 - local.get $2 - local.get $3 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1728 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 149 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - local.get $7 - i32.load $0 offset=4 - local.set $4 - local.get $7 - i32.load $0 offset=8 - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - local.tee $3 - local.get $2 - local.tee $2 - i32.lt_s - if - local.get $3 - local.get $4 - i32.add - i32.const 0 - local.get $2 - local.get $3 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1808 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 152 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.load $0 offset=4 - local.set $4 - local.get $7 - i32.load $0 offset=8 - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - local.tee $3 - local.get $2 - i32.const 3 - i32.sub - local.tee $2 - i32.lt_s - if - local.get $3 - local.get $4 - i32.add - i32.const 1 - local.get $2 - local.get $3 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1840 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 155 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~argumentsLength - local.get $7 - i32.load $0 offset=4 - local.set $4 - local.get $7 - i32.load $0 offset=8 - local.tee $2 - i32.const 2 - i32.sub - local.tee $3 - local.get $2 - local.tee $2 - i32.lt_s - if - local.get $3 - local.get $4 - i32.add - i32.const 2 - local.get $2 - local.get $3 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1872 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 158 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.load $0 offset=4 - local.set $4 - i32.const 1 - local.get $7 - i32.load $0 offset=8 - local.tee $2 - local.get $2 - i32.const 1 - i32.gt_s - select - local.tee $3 - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - local.tee $2 - i32.lt_s - if - local.get $3 - local.get $4 - i32.add - i32.const 0 - local.get $2 - local.get $3 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1904 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 161 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $5 - i32.store $0 offset=20 - i32.const 1 - global.set $~argumentsLength - local.get $5 - i32.load $0 offset=4 - local.set $4 - local.get $5 - i32.load $0 offset=8 - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - local.tee $3 - local.get $2 - local.tee $2 - i32.lt_s - if - local.get $3 - local.get $4 - i32.add - i32.const 0 - local.get $2 - local.get $3 - i32.sub - memory.fill $0 - end - local.get $5 - i32.load $0 offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 165 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.load $0 offset=4 - local.get $5 - i32.load $0 - i32.sub - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 166 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.load $0 offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 167 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 0 - i32.const 16 - i32.const 1936 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $5 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 168 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1968 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 169 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $4 - i32.store $0 offset=24 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#fill - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2000 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 181 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - local.get $4 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int32Array#fill@varargs - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2048 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 184 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int32Array#fill - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2096 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 187 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~argumentsLength - local.get $4 - i32.const 2 - i32.const -2 - call $~lib/typedarray/Int32Array#fill@varargs - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2144 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 190 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int32Array#fill - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2192 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 193 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.tee $3 - i32.store $0 offset=28 - i32.const 1 - global.set $~argumentsLength - local.get $3 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int32Array#fill@varargs - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 197 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load $0 offset=4 - local.get $3 - i32.load $0 - i32.sub - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 198 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load $0 offset=8 - i32.const 12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 199 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 17 - i32.const 2240 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 200 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2272 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 201 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Int8Array#constructor - local.tee $2 - i32.store $0 offset=32 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 5 - i32.const 6 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.const 6 - call $~lib/typedarray/Int8Array#subarray - local.tee $2 - i32.store $0 offset=36 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 222 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 223 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 224 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 225 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.const 5 - call $~lib/typedarray/Int8Array#subarray - local.tee $2 - i32.store $0 offset=40 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 228 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 229 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 230 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 231 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $2 - i32.store $0 offset=44 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 234 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 235 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 236 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 237 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $4 - i32.store $0 offset=52 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2320 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 248 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2368 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 250 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2416 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 252 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.const 2 - i32.const 2 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2464 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 254 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2512 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 256 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2560 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 258 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 1 - i32.const 2 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2608 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 260 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.const 0 - i32.const -2 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2656 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 262 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 0 - i32.const -2 - i32.const -1 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2704 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 264 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const -4 - i32.const -3 - i32.const -2 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2752 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 266 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const -4 - i32.const -3 - i32.const -1 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2800 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 268 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.const -4 - i32.const -3 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2848 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 270 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $4 - i32.store $0 offset=60 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.tee $3 - i32.store $0 offset=64 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 282 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load $0 offset=4 - local.get $3 - i32.load $0 - i32.sub - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 283 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load $0 offset=8 - i32.const 12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 284 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=68 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 287 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 288 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 289 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 290 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 291 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=72 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 294 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 295 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 296 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 297 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=76 - local.get $2 - local.get $4 - i32.eq - if - i32.const 0 - i32.const 1568 - i32.const 300 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 301 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - local.get $4 - i32.load $0 offset=4 - local.get $4 - i32.load $0 - i32.sub - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 302 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - local.get $4 - i32.load $0 offset=8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 303 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - 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 16320 - i32.lt_s - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $5 - i32.store $0 - local.get $5 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $5 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $5 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 2896 - i32.store $0 offset=4 - local.get $5 - i32.load $0 offset=4 - local.set $4 - local.get $5 - i32.load $0 offset=8 - local.set $3 - loop $for-loop|0 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $4 - i32.add - i32.load8_s $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $1 - local.get $2 - local.get $0 - local.get $5 - i32.const 2896 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - block $folding-inner27 - block $folding-inner26 - block $folding-inner25 - block $folding-inner24 + block $folding-inner38 + block $folding-inner24 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 120 + memory.fill $0 + memory.size $0 + i32.const 16 + i32.shl + i32.const 49088 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1284 + i32.const 1280 + i32.store $0 + i32.const 1288 + i32.const 1280 + i32.store $0 + i32.const 1280 + global.set $~lib/rt/itcms/pinSpace + i32.const 1316 + i32.const 1312 + i32.store $0 + i32.const 1320 + i32.const 1312 + i32.store $0 + i32.const 1312 + global.set $~lib/rt/itcms/toSpace + i32.const 1460 + i32.const 1456 + i32.store $0 + i32.const 1464 + i32.const 1456 + i32.store $0 + i32.const 1456 + global.set $~lib/rt/itcms/fromSpace + i32.const 0 + call $std/typedarray/testInstantiate + i32.const 5 + call $std/typedarray/testInstantiate + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $2 + i32.store $0 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 95 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 96 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 97 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 98 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 99 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 100 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#subarray + local.tee $2 + i32.store $0 + local.get $2 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 103 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 104 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 105 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 106 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + call $~lib/typedarray/Float64Array#constructor + local.tee $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 2 + f64.const 7 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 3 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 4 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 5 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 6 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $2 + i32.const 7 + f64.const 8 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Float64Array#subarray + local.tee $2 + i32.store $0 offset=4 + local.get $2 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 122 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + i32.const 16 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 123 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 32 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 124 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + global.set $~argumentsLength + local.get $2 + call $~lib/typedarray/Float64Array#sort@varargs + drop + local.get $2 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.eq + if (result i32) + local.get $2 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 5 + f64.eq + else + i32.const 0 + end + if (result i32) + local.get $2 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 6 + f64.eq + else + i32.const 0 + end + if (result i32) + local.get $2 + i32.const 3 + call $~lib/typedarray/Float64Array#__get + f64.const 7 + f64.eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 126 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $2 + i32.store $0 offset=8 + local.get $2 + i32.const 0 + i32.const -32 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $2 + i32.const 2 + i32.const 256 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + if + i32.const 0 + i32.const 1568 + i32.const 135 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 136 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 255 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 137 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Int8Array#constructor + local.tee $7 + i32.store $0 offset=12 + local.get $7 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $7 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $7 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $7 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $7 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + local.get $7 + i32.load $0 offset=4 + local.set $4 + i32.const 1 + local.get $7 + i32.load $0 offset=8 + local.tee $2 + local.get $2 + i32.const 1 + i32.gt_s + select + local.tee $3 + i32.const 3 + local.get $2 + local.get $2 + i32.const 3 + i32.gt_s + select + local.tee $2 + i32.lt_s + if + local.get $3 + local.get $4 + i32.add + i32.const 1 + local.get $2 + local.get $3 + i32.sub + memory.fill $0 + end + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1728 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $7 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 149 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + local.get $7 + i32.load $0 offset=4 + local.set $4 + local.get $7 + i32.load $0 offset=8 + local.tee $3 + i32.const 0 + local.get $3 + i32.const 0 + i32.le_s + select + local.tee $2 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $4 + i32.add + i32.const 0 + local.get $3 + local.get $2 + i32.sub + memory.fill $0 + end + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1808 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $7 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 152 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $7 + i32.load $0 offset=4 + local.set $4 + local.get $7 + i32.load $0 offset=8 + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.le_s + select + local.tee $3 + local.get $2 + i32.const 3 + i32.sub + local.tee $2 + i32.lt_s + if + local.get $3 + local.get $4 + i32.add + i32.const 1 + local.get $2 + local.get $3 + i32.sub + memory.fill $0 + end + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1840 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $7 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 155 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~argumentsLength + local.get $7 + i32.load $0 offset=4 + local.set $4 + local.get $7 + i32.load $0 offset=8 + local.tee $3 + i32.const 2 + i32.sub + local.tee $2 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $4 + i32.add + i32.const 2 + local.get $3 + local.get $2 + i32.sub + memory.fill $0 + end + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1872 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $7 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 158 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $7 + i32.load $0 offset=4 + local.set $4 + i32.const 1 + local.get $7 + i32.load $0 offset=8 + local.tee $2 + local.get $2 + i32.const 1 + i32.gt_s + select + local.tee $3 + local.get $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.le_s + select + local.tee $2 + i32.lt_s + if + local.get $3 + local.get $4 + i32.add + i32.const 0 + local.get $2 + local.get $3 + i32.sub + memory.fill $0 + end + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1904 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $7 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 161 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.tee $5 + i32.store $0 offset=20 + i32.const 1 + global.set $~argumentsLength + local.get $5 + i32.load $0 offset=4 + local.set $4 + local.get $5 + i32.load $0 offset=8 + local.tee $3 + i32.const 0 + local.get $3 + i32.const 0 + i32.le_s + select + local.tee $2 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $4 + i32.add + i32.const 0 + local.get $3 + local.get $2 + i32.sub + memory.fill $0 + end + local.get $5 + i32.load $0 offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 165 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.load $0 offset=4 + local.get $5 + i32.load $0 + i32.sub + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 166 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.load $0 offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 167 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 0 + i32.const 16 + i32.const 1936 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $5 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 168 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1968 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $7 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 169 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $4 + i32.store $0 offset=24 + local.get $4 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#fill + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2000 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $4 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 181 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + local.get $4 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int32Array#fill@varargs + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2048 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $4 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 184 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 1 + i32.const 0 + i32.const -3 + call $~lib/typedarray/Int32Array#fill + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2096 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $4 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 187 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~argumentsLength + local.get $4 + i32.const 2 + i32.const -2 + call $~lib/typedarray/Int32Array#fill@varargs + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2144 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $4 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 190 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/typedarray/Int32Array#fill + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2192 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $4 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 193 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#subarray + local.tee $3 + i32.store $0 offset=28 + i32.const 1 + global.set $~argumentsLength + local.get $3 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int32Array#fill@varargs + local.get $3 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 197 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.load $0 offset=4 + local.get $3 + i32.load $0 + i32.sub + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 198 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.load $0 offset=8 + i32.const 12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 199 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 17 + i32.const 2240 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 200 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2272 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $4 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 201 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/typedarray/Int8Array#constructor + local.tee $2 + i32.store $0 offset=32 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.const 5 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.const 6 + call $~lib/typedarray/Int8Array#subarray + local.tee $2 + i32.store $0 offset=36 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 222 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 223 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 224 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 225 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.const 5 + call $~lib/typedarray/Int8Array#subarray + local.tee $2 + i32.store $0 offset=40 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 228 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 229 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 230 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 231 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.tee $2 + i32.store $0 offset=44 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 234 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 235 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 236 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 237 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $4 + i32.store $0 offset=52 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2320 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 248 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2368 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 250 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2416 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 252 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.const 2 + i32.const 2 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2464 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 254 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const 0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2512 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 256 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const 1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2560 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 258 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const 1 + i32.const 2 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2608 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 260 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.const 0 + i32.const -2 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2656 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 262 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const 0 + i32.const -2 + i32.const -1 + call $~lib/typedarray/Int32Array#copyWithin + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2704 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 264 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const -4 + i32.const -3 + i32.const -2 + call $~lib/typedarray/Int32Array#copyWithin + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2752 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 266 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + local.get $2 + i32.const -4 + i32.const -3 + i32.const -1 + call $~lib/typedarray/Int32Array#copyWithin + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2800 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 268 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=48 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.const -4 + i32.const -3 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=56 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2848 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $3 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 270 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $4 + i32.store $0 offset=60 + local.get $4 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#subarray + local.tee $3 + i32.store $0 offset=64 + local.get $3 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 282 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.load $0 offset=4 + local.get $3 + i32.load $0 + i32.sub + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 283 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.load $0 offset=8 + i32.const 12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 284 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#slice + local.tee $2 + i32.store $0 offset=68 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 287 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 288 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 289 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 290 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 291 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#slice + local.tee $2 + i32.store $0 offset=72 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 294 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 295 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 296 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 297 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $2 + i32.store $0 offset=76 + local.get $2 + local.get $4 + i32.eq + if + i32.const 0 + i32.const 1568 + i32.const 300 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + local.get $4 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 301 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 + i32.sub + local.get $4 + i32.load $0 offset=4 + local.get $4 + i32.load $0 + i32.sub + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 302 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load $0 offset=8 + local.get $4 + i32.load $0 offset=8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 303 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $5 + i32.store $0 + local.get $5 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $5 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $5 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 2896 + i32.store $0 offset=4 + local.get $5 + i32.load $0 offset=4 + local.set $4 + local.get $5 + i32.load $0 offset=8 + local.set $3 + loop $for-loop|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $4 + i32.add + i32.load8_s $0 + local.set $2 + i32.const 4 + global.set $~argumentsLength + local.get $0 + local.get $2 + local.get $1 + local.get $5 + i32.const 2896 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + block $folding-inner37 + block $folding-inner36 + block $folding-inner35 + block $folding-inner34 + block $folding-inner33 + block $folding-inner32 + block $folding-inner28 + block $folding-inner27 + block $folding-inner26 + block $folding-inner25 block $folding-inner23 block $folding-inner22 block $folding-inner21 @@ -44092,7 +44049,7 @@ block $folding-inner3 block $folding-inner2 block $folding-inner1 - local.get $1 + local.get $0 i32.const 255 i32.and i32.const 6 @@ -44109,7 +44066,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -44135,43 +44092,43 @@ i32.const 2928 i32.store $0 offset=4 i32.const 0 - local.set $1 + local.set $0 local.get $5 i32.load $0 offset=4 local.set $4 i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load $0 offset=8 local.set $3 loop $for-loop|018 - local.get $0 + local.get $1 local.get $3 i32.lt_s if - local.get $0 + local.get $1 local.get $4 i32.add i32.load8_u $0 local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 local.get $5 i32.const 2928 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|018 end end - local.get $1 + local.get $0 i32.const 255 i32.and i32.const 6 @@ -44188,7 +44145,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -44214,43 +44171,43 @@ i32.const 2960 i32.store $0 offset=4 i32.const 0 - local.set $1 + local.set $0 local.get $5 i32.load $0 offset=4 local.set $4 i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load $0 offset=8 local.set $3 - loop $for-loop|025 - local.get $0 + loop $for-loop|024 + local.get $1 local.get $3 i32.lt_s if - local.get $0 + local.get $1 local.get $4 i32.add i32.load8_u $0 local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 local.get $5 i32.const 2960 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|025 + local.set $1 + br $for-loop|024 end end - local.get $1 + local.get $0 i32.const 255 i32.and i32.const 6 @@ -44267,7 +44224,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -44293,24 +44250,24 @@ i32.const 2992 i32.store $0 offset=4 i32.const 0 - local.set $1 + local.set $0 local.get $5 i32.load $0 offset=4 local.set $4 i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $3 - loop $for-loop|029 - local.get $0 + loop $for-loop|028 + local.get $1 local.get $3 i32.lt_s if local.get $4 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -44318,22 +44275,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 local.get $5 i32.const 2992 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|029 + local.set $1 + br $for-loop|028 end end - local.get $1 + local.get $0 i32.const 65535 i32.and i32.const 6 @@ -44350,7 +44307,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -44376,24 +44333,24 @@ i32.const 3024 i32.store $0 offset=4 i32.const 0 - local.set $1 + local.set $0 local.get $5 i32.load $0 offset=4 local.set $4 i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $3 - loop $for-loop|034 - local.get $0 + loop $for-loop|033 + local.get $1 local.get $3 i32.lt_s if local.get $4 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -44401,22 +44358,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 local.get $5 i32.const 3024 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|034 + local.set $1 + br $for-loop|033 end end - local.get $1 + local.get $0 i32.const 65535 i32.and i32.const 6 @@ -44433,7 +44390,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -44459,24 +44416,24 @@ i32.const 3056 i32.store $0 offset=4 i32.const 0 - local.set $1 + local.set $0 local.get $5 i32.load $0 offset=4 local.set $4 i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $3 - loop $for-loop|039 - local.get $0 + loop $for-loop|038 + local.get $1 local.get $3 i32.lt_s if local.get $4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -44484,22 +44441,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 local.get $5 i32.const 3056 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|039 + local.set $1 + br $for-loop|038 end end - local.get $1 + local.get $0 i32.const 6 i32.ne br_if $folding-inner1 @@ -44514,7 +44471,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -44540,24 +44497,24 @@ i32.const 3088 i32.store $0 offset=4 i32.const 0 - local.set $1 + local.set $0 local.get $5 i32.load $0 offset=4 local.set $4 i32.const 0 - local.set $0 + local.set $1 local.get $5 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $3 - loop $for-loop|044 - local.get $0 + loop $for-loop|042 + local.get $1 local.get $3 i32.lt_s if local.get $4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -44565,22 +44522,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 local.get $5 i32.const 3088 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|044 + local.set $1 + br $for-loop|042 end end - local.get $1 + local.get $0 i32.const 6 i32.ne br_if $folding-inner1 @@ -44595,7 +44552,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -44624,19 +44581,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|049 + local.set $0 + loop $for-loop|046 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -44646,17 +44603,17 @@ global.set $~argumentsLength local.get $13 local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 3120 i32.load $0 call_indirect $0 (type $i64_i64_i32_i32_=>_i64) local.set $13 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|049 + local.set $1 + br $for-loop|046 end end local.get $13 @@ -44674,7 +44631,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -44705,19 +44662,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|055 + local.set $0 + loop $for-loop|050 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -44727,17 +44684,17 @@ global.set $~argumentsLength local.get $13 local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 3152 i32.load $0 call_indirect $0 (type $i64_i64_i32_i32_=>_i64) local.set $13 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|055 + local.set $1 + br $for-loop|050 end end local.get $13 @@ -44755,7 +44712,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -44784,19 +44741,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $1 - loop $for-loop|060 + local.set $0 + loop $for-loop|055 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -44806,17 +44763,17 @@ global.set $~argumentsLength local.get $14 local.get $6 - local.get $0 + local.get $1 local.get $3 i32.const 3184 i32.load $0 call_indirect $0 (type $f32_f32_i32_i32_=>_f32) local.set $14 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|060 + local.set $1 + br $for-loop|055 end end local.get $14 @@ -44834,7 +44791,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -44863,19 +44820,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|066 + local.set $0 + loop $for-loop|060 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -44885,17 +44842,17 @@ global.set $~argumentsLength local.get $15 local.get $10 - local.get $0 + local.get $1 local.get $3 i32.const 3216 i32.load $0 call_indirect $0 (type $f64_f64_i32_i32_=>_f64) local.set $15 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|066 + local.set $1 + br $for-loop|060 end end local.get $15 @@ -44913,7 +44870,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -44964,7 +44921,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -45015,7 +44972,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -45066,7 +45023,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -45117,7 +45074,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -45168,7 +45125,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -45219,7 +45176,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -45270,7 +45227,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -45321,7 +45278,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -45372,7 +45329,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -45423,7 +45380,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -45474,7 +45431,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -45500,7 +45457,7 @@ i32.const 3248 i32.store $0 offset=4 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45508,35 +45465,35 @@ i32.load $0 offset=8 i32.const 1 i32.sub - local.set $0 - loop $for-loop|071 - local.get $0 + local.set $1 + loop $for-loop|064 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_s $0 local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 3248 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|071 + local.set $1 + br $for-loop|064 end end - local.get $1 + local.get $0 i32.const 255 i32.and i32.const 6 @@ -45553,7 +45510,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -45579,7 +45536,7 @@ i32.const 3280 i32.store $0 offset=4 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45587,35 +45544,35 @@ i32.load $0 offset=8 i32.const 1 i32.sub - local.set $0 - loop $for-loop|076 - local.get $0 + local.set $1 + loop $for-loop|069 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 3280 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|076 + local.set $1 + br $for-loop|069 end end - local.get $1 + local.get $0 i32.const 255 i32.and i32.const 6 @@ -45632,7 +45589,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -45658,7 +45615,7 @@ i32.const 3312 i32.store $0 offset=4 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45666,35 +45623,35 @@ i32.load $0 offset=8 i32.const 1 i32.sub - local.set $0 - loop $for-loop|083 - local.get $0 + local.set $1 + loop $for-loop|075 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 3312 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|083 + local.set $1 + br $for-loop|075 end end - local.get $1 + local.get $0 i32.const 255 i32.and i32.const 6 @@ -45711,7 +45668,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -45737,7 +45694,7 @@ i32.const 3344 i32.store $0 offset=4 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45747,14 +45704,14 @@ i32.shr_u i32.const 1 i32.sub - local.set $0 - loop $for-loop|088 - local.get $0 + local.set $1 + loop $for-loop|079 + local.get $1 i32.const 0 i32.ge_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -45762,22 +45719,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 3344 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|088 + local.set $1 + br $for-loop|079 end end - local.get $1 + local.get $0 i32.const 65535 i32.and i32.const 6 @@ -45794,7 +45751,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -45820,7 +45777,7 @@ i32.const 3376 i32.store $0 offset=4 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45830,14 +45787,14 @@ i32.shr_u i32.const 1 i32.sub - local.set $0 - loop $for-loop|093 - local.get $0 + local.set $1 + loop $for-loop|083 + local.get $1 i32.const 0 i32.ge_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -45845,22 +45802,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 3376 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|093 + local.set $1 + br $for-loop|083 end end - local.get $1 + local.get $0 i32.const 65535 i32.and i32.const 6 @@ -45877,7 +45834,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -45903,7 +45860,7 @@ i32.const 3408 i32.store $0 offset=4 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45913,14 +45870,14 @@ i32.shr_u i32.const 1 i32.sub - local.set $0 - loop $for-loop|098 - local.get $0 + local.set $1 + loop $for-loop|087 + local.get $1 i32.const 0 i32.ge_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -45928,22 +45885,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 3408 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|098 + local.set $1 + br $for-loop|087 end end - local.get $1 + local.get $0 i32.const 6 i32.ne br_if $folding-inner5 @@ -45958,7 +45915,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -45984,7 +45941,7 @@ i32.const 3440 i32.store $0 offset=4 i32.const 0 - local.set $1 + local.set $0 local.get $4 i32.load $0 offset=4 local.set $3 @@ -45994,14 +45951,14 @@ i32.shr_u i32.const 1 i32.sub - local.set $0 - loop $for-loop|0103 - local.get $0 + local.set $1 + loop $for-loop|091 + local.get $1 i32.const 0 i32.ge_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -46009,22 +45966,22 @@ local.set $2 i32.const 4 global.set $~argumentsLength - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 local.get $4 i32.const 3440 i32.load $0 call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0103 + local.set $1 + br $for-loop|091 end end - local.get $1 + local.get $0 i32.const 6 i32.ne br_if $folding-inner5 @@ -46039,7 +45996,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -46068,21 +46025,21 @@ local.set $13 local.get $2 i32.load $0 offset=4 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $0 - loop $for-loop|0108 - local.get $0 + local.set $1 + loop $for-loop|095 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -46092,17 +46049,17 @@ global.set $~argumentsLength local.get $13 local.get $11 - local.get $0 + local.get $1 local.get $2 i32.const 3472 i32.load $0 call_indirect $0 (type $i64_i64_i32_i32_=>_i64) local.set $13 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0108 + local.set $1 + br $for-loop|095 end end local.get $13 @@ -46120,7 +46077,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -46149,21 +46106,21 @@ local.set $13 local.get $2 i32.load $0 offset=4 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $0 - loop $for-loop|0113 - local.get $0 + local.set $1 + loop $for-loop|099 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -46173,17 +46130,17 @@ global.set $~argumentsLength local.get $13 local.get $11 - local.get $0 + local.get $1 local.get $2 i32.const 3504 i32.load $0 call_indirect $0 (type $i64_i64_i32_i32_=>_i64) local.set $13 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0113 + local.set $1 + br $for-loop|099 end end local.get $13 @@ -46201,7 +46158,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -46230,21 +46187,21 @@ local.set $14 local.get $2 i32.load $0 offset=4 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $0 - loop $for-loop|0118 - local.get $0 + local.set $1 + loop $for-loop|0103 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -46254,17 +46211,17 @@ global.set $~argumentsLength local.get $14 local.get $6 - local.get $0 + local.get $1 local.get $2 i32.const 3536 i32.load $0 call_indirect $0 (type $f32_f32_i32_i32_=>_f32) local.set $14 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0118 + local.set $1 + br $for-loop|0103 end end local.get $14 @@ -46282,7 +46239,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -46311,21 +46268,21 @@ local.set $15 local.get $2 i32.load $0 offset=4 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $0 - loop $for-loop|0123 - local.get $0 + local.set $1 + loop $for-loop|0107 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -46335,17 +46292,17 @@ global.set $~argumentsLength local.get $15 local.get $10 - local.get $0 + local.get $1 local.get $2 i32.const 3568 i32.load $0 call_indirect $0 (type $f64_f64_i32_i32_=>_f64) local.set $15 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0123 + local.set $1 + br $for-loop|0107 end end local.get $15 @@ -46356,8 +46313,6 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46365,33 +46320,33 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $8 + local.tee $7 i32.store $0 - local.get $8 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $8 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $8 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 3600 i32.store $0 offset=4 @@ -46402,104 +46357,104 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $8 + local.get $7 i32.load $0 offset=8 - local.set $5 - local.get $8 - i32.load $0 offset=4 local.set $4 - local.get $1 + local.get $7 + i32.load $0 offset=4 + local.set $3 + local.get $0 i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store $0 offset=4 - loop $for-loop|01 - local.get $0 - local.get $5 - i32.lt_s + loop $for-loop|03 + local.get $4 + local.get $12 + i32.gt_s if - local.get $0 - local.get $4 + local.get $3 + local.get $12 i32.add i32.load8_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $2 - i32.add local.get $1 + local.get $12 + i32.add local.get $0 - local.get $8 + local.get $12 + local.get $7 i32.const 3600 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store8 $0 - local.get $0 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|01 + local.set $12 + br $for-loop|03 end end - local.get $3 local.get $2 + local.get $1 i32.store $0 - local.get $2 + local.get $1 if - local.get $3 local.get $2 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 local.get $2 + local.get $1 i32.store $0 offset=4 - local.get $3 - local.get $5 + local.get $2 + local.get $4 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $3 + local.get $5 + local.get $2 i32.store $0 offset=8 - local.get $3 + local.get $2 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 1 i32.ne - br_if $folding-inner25 - local.get $3 + br_if $folding-inner26 + local.get $2 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 4 i32.ne - br_if $folding-inner26 - local.get $3 + br_if $folding-inner27 + local.get $2 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 9 i32.ne - br_if $folding-inner27 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46507,33 +46462,33 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $8 + local.tee $7 i32.store $0 - local.get $8 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set - local.get $8 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set - local.get $8 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 3632 i32.store $0 offset=4 @@ -46544,104 +46499,104 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $8 + local.get $7 i32.load $0 offset=8 - local.set $5 - local.get $8 - i32.load $0 offset=4 local.set $4 - local.get $1 + local.get $7 + i32.load $0 offset=4 + local.set $3 + local.get $0 i32.const 12 i32.const 5 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store $0 offset=4 - loop $for-loop|03 - local.get $0 - local.get $5 - i32.lt_s + loop $for-loop|05 + local.get $4 + local.get $12 + i32.gt_s if - local.get $0 - local.get $4 + local.get $3 + local.get $12 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $2 - i32.add local.get $1 + local.get $12 + i32.add local.get $0 - local.get $8 + local.get $12 + local.get $7 i32.const 3632 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store8 $0 - local.get $0 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|03 + local.set $12 + br $for-loop|05 end end - local.get $3 local.get $2 + local.get $1 i32.store $0 - local.get $2 + local.get $1 if - local.get $3 local.get $2 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 local.get $2 + local.get $1 i32.store $0 offset=4 - local.get $3 - local.get $5 + local.get $2 + local.get $4 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $3 + local.get $5 + local.get $2 i32.store $0 offset=8 - local.get $3 + local.get $2 i32.const 0 call $~lib/typedarray/Uint8Array#__get i32.const 1 i32.ne - br_if $folding-inner25 - local.get $3 + br_if $folding-inner26 + local.get $2 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 4 i32.ne - br_if $folding-inner26 - local.get $3 + br_if $folding-inner27 + local.get $2 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 9 i32.ne - br_if $folding-inner27 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46649,33 +46604,33 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $8 + local.tee $7 i32.store $0 - local.get $8 + local.get $7 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $8 + local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set - local.get $8 + local.get $7 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 3664 i32.store $0 offset=4 @@ -46686,104 +46641,104 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $8 + local.get $7 i32.load $0 offset=8 - local.set $5 - local.get $8 - i32.load $0 offset=4 local.set $4 - local.get $1 + local.get $7 + i32.load $0 offset=4 + local.set $3 + local.get $0 i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store $0 offset=4 - loop $for-loop|06 - local.get $0 - local.get $5 - i32.lt_s + loop $for-loop|07 + local.get $4 + local.get $12 + i32.gt_s if - local.get $0 - local.get $4 + local.get $3 + local.get $12 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $2 - i32.add local.get $1 + local.get $12 + i32.add local.get $0 - local.get $8 + local.get $12 + local.get $7 i32.const 3664 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store8 $0 - local.get $0 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|06 + local.set $12 + br $for-loop|07 end end - local.get $3 local.get $2 + local.get $1 i32.store $0 - local.get $2 + local.get $1 if - local.get $3 local.get $2 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 local.get $2 + local.get $1 i32.store $0 offset=4 - local.get $3 - local.get $5 + local.get $2 + local.get $4 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $3 + local.get $5 + local.get $2 i32.store $0 offset=8 - local.get $3 + local.get $2 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 i32.ne - br_if $folding-inner25 - local.get $3 + br_if $folding-inner26 + local.get $2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 4 i32.ne - br_if $folding-inner26 - local.get $3 + br_if $folding-inner27 + local.get $2 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 9 i32.ne - br_if $folding-inner27 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46791,33 +46746,33 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $12 + local.tee $9 i32.store $0 - local.get $12 + local.get $9 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set - local.get $12 + local.get $9 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set - local.get $12 + local.get $9 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 3696 i32.store $0 offset=4 @@ -46828,112 +46783,112 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $12 + local.get $9 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $8 - local.get $12 - i32.load $0 offset=4 local.set $7 - local.get $1 + local.get $9 + i32.load $0 offset=4 + local.set $5 + local.get $0 i32.const 12 i32.const 7 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.const 1 i32.shl - local.tee $4 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store $0 offset=4 loop $for-loop|09 - local.get $0 - local.get $8 - i32.lt_s + local.get $7 + local.get $12 + i32.gt_s if - local.get $0 + local.get $12 i32.const 1 i32.shl - local.tee $2 - local.get $7 + local.tee $1 + local.get $5 i32.add i32.load16_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $2 - local.get $3 i32.add - local.get $1 local.get $0 local.get $12 + local.get $9 i32.const 3696 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store16 $0 - local.get $0 + local.get $12 i32.const 1 i32.add - local.set $0 + local.set $12 br $for-loop|09 end end - local.get $5 - local.get $3 + local.get $4 + local.get $2 i32.store $0 - local.get $3 + local.get $2 if - local.get $5 - local.get $3 + local.get $4 + local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 - local.get $3 + local.get $4 + local.get $2 i32.store $0 offset=4 - local.get $5 local.get $4 + local.get $3 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - local.get $5 + local.get $8 + local.get $4 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.const 0 call $~lib/typedarray/Int16Array#__get i32.const 1 i32.ne - br_if $folding-inner25 - local.get $5 + br_if $folding-inner26 + local.get $4 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 4 i32.ne - br_if $folding-inner26 - local.get $5 + br_if $folding-inner27 + local.get $4 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 9 i32.ne - br_if $folding-inner27 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46941,33 +46896,33 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $12 + local.tee $9 i32.store $0 - local.get $12 + local.get $9 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set - local.get $12 + local.get $9 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set - local.get $12 + local.get $9 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 3728 i32.store $0 offset=4 @@ -46978,112 +46933,112 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $12 + local.get $9 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $8 - local.get $12 - i32.load $0 offset=4 local.set $7 - local.get $1 + local.get $9 + i32.load $0 offset=4 + local.set $5 + local.get $0 i32.const 12 i32.const 8 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.const 1 i32.shl - local.tee $4 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store $0 offset=4 - loop $for-loop|012 - local.get $0 - local.get $8 - i32.lt_s + loop $for-loop|011 + local.get $7 + local.get $12 + i32.gt_s if - local.get $0 + local.get $12 i32.const 1 i32.shl - local.tee $2 - local.get $7 + local.tee $1 + local.get $5 i32.add i32.load16_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $2 - local.get $3 i32.add - local.get $1 local.get $0 local.get $12 + local.get $9 i32.const 3728 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store16 $0 - local.get $0 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|012 + local.set $12 + br $for-loop|011 end end - local.get $5 - local.get $3 + local.get $4 + local.get $2 i32.store $0 - local.get $3 + local.get $2 if - local.get $5 - local.get $3 + local.get $4 + local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 - local.get $3 + local.get $4 + local.get $2 i32.store $0 offset=4 - local.get $5 local.get $4 + local.get $3 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - local.get $5 + local.get $8 + local.get $4 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.const 0 call $~lib/typedarray/Uint16Array#__get i32.const 1 i32.ne - br_if $folding-inner25 - local.get $5 + br_if $folding-inner26 + local.get $4 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 4 i32.ne - br_if $folding-inner26 - local.get $5 + br_if $folding-inner27 + local.get $4 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 9 i32.ne - br_if $folding-inner27 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47091,33 +47046,33 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $12 + local.tee $9 i32.store $0 - local.get $12 + local.get $9 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $12 + local.get $9 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $12 + local.get $9 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 3760 i32.store $0 offset=4 @@ -47128,112 +47083,112 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $12 + local.get $9 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $8 - local.get $12 - i32.load $0 offset=4 local.set $7 - local.get $1 + local.get $9 + i32.load $0 offset=4 + local.set $5 + local.get $0 i32.const 12 i32.const 9 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.const 2 i32.shl - local.tee $4 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store $0 offset=4 - loop $for-loop|015 - local.get $0 - local.get $8 - i32.lt_s + loop $for-loop|013 + local.get $7 + local.get $12 + i32.gt_s if - local.get $0 + local.get $12 i32.const 2 i32.shl - local.tee $2 - local.get $7 + local.tee $1 + local.get $5 i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $2 - local.get $3 i32.add - local.get $1 local.get $0 local.get $12 + local.get $9 i32.const 3760 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store $0 - local.get $0 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|015 + local.set $12 + br $for-loop|013 end end - local.get $5 - local.get $3 + local.get $4 + local.get $2 i32.store $0 - local.get $3 + local.get $2 if - local.get $5 - local.get $3 + local.get $4 + local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 - local.get $3 + local.get $4 + local.get $2 i32.store $0 offset=4 - local.get $5 local.get $4 + local.get $3 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - local.get $5 + local.get $8 + local.get $4 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 1 i32.ne - br_if $folding-inner25 - local.get $5 + br_if $folding-inner26 + local.get $4 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 4 i32.ne - br_if $folding-inner26 - local.get $5 + br_if $folding-inner27 + local.get $4 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 9 i32.ne - br_if $folding-inner27 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47241,33 +47196,33 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $12 + local.tee $9 i32.store $0 - local.get $12 + local.get $9 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $12 + local.get $9 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set - local.get $12 + local.get $9 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 3792 i32.store $0 offset=4 @@ -47278,112 +47233,112 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $12 + local.get $9 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $8 - local.get $12 - i32.load $0 offset=4 local.set $7 - local.get $1 + local.get $9 + i32.load $0 offset=4 + local.set $5 + local.get $0 i32.const 12 i32.const 10 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.const 2 i32.shl - local.tee $4 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store $0 offset=4 - loop $for-loop|019 - local.get $0 - local.get $8 - i32.lt_s + loop $for-loop|015 + local.get $7 + local.get $12 + i32.gt_s if - local.get $0 + local.get $12 i32.const 2 i32.shl - local.tee $2 - local.get $7 + local.tee $1 + local.get $5 i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength + local.get $1 local.get $2 - local.get $3 i32.add - local.get $1 local.get $0 local.get $12 + local.get $9 i32.const 3792 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store $0 - local.get $0 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|019 + local.set $12 + br $for-loop|015 end end - local.get $5 - local.get $3 + local.get $4 + local.get $2 i32.store $0 - local.get $3 + local.get $2 if - local.get $5 - local.get $3 + local.get $4 + local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 - local.get $3 + local.get $4 + local.get $2 i32.store $0 offset=4 - local.get $5 local.get $4 + local.get $3 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - local.get $5 + local.get $8 + local.get $4 i32.store $0 offset=8 - local.get $5 + local.get $4 i32.const 0 call $~lib/typedarray/Uint32Array#__get i32.const 1 i32.ne - br_if $folding-inner25 - local.get $5 + br_if $folding-inner26 + local.get $4 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 4 i32.ne - br_if $folding-inner26 - local.get $5 + br_if $folding-inner27 + local.get $4 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 9 i32.ne - br_if $folding-inner27 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47391,33 +47346,33 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $9 + local.tee $8 i32.store $0 - local.get $9 + local.get $8 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set - local.get $9 + local.get $8 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set - local.get $9 + local.get $8 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 3824 i32.store $0 offset=4 @@ -47428,112 +47383,112 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $9 + local.get $8 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $7 - local.get $9 - i32.load $0 offset=4 local.set $5 - local.get $1 + local.get $8 + i32.load $0 offset=4 + local.set $4 + local.get $0 i32.const 12 i32.const 11 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $3 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.const 3 i32.shl - local.tee $3 + local.tee $2 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store $0 offset=4 - loop $for-loop|022 - local.get $0 - local.get $7 - i32.lt_s + loop $for-loop|017 + local.get $5 + local.get $12 + i32.gt_s if - local.get $0 + local.get $12 i32.const 3 i32.shl - local.tee $1 - local.get $5 + local.tee $0 + local.get $4 i32.add i64.load $0 local.set $11 i32.const 3 global.set $~argumentsLength + local.get $0 local.get $1 - local.get $2 i32.add local.get $11 - local.get $0 - local.get $9 + local.get $12 + local.get $8 i32.const 3824 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i64) i64.store $0 - local.get $0 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|022 + local.set $12 + br $for-loop|017 end end - local.get $4 - local.get $2 + local.get $3 + local.get $1 i32.store $0 - local.get $2 + local.get $1 if - local.get $4 - local.get $2 + local.get $3 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 - local.get $2 + local.get $3 + local.get $1 i32.store $0 offset=4 - local.get $4 local.get $3 + local.get $2 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $4 + local.get $7 + local.get $3 i32.store $0 offset=8 - local.get $4 + local.get $3 i32.const 0 call $~lib/typedarray/Int64Array#__get i64.const 1 i64.ne - br_if $folding-inner25 - local.get $4 + br_if $folding-inner26 + local.get $3 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 4 i64.ne - br_if $folding-inner26 - local.get $4 + br_if $folding-inner27 + local.get $3 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 9 i64.ne - br_if $folding-inner27 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47541,33 +47496,33 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $9 + local.tee $8 i32.store $0 - local.get $9 + local.get $8 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set - local.get $9 + local.get $8 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set - local.get $9 + local.get $8 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 3856 i32.store $0 offset=4 @@ -47578,112 +47533,112 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $9 + local.get $8 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $7 - local.get $9 - i32.load $0 offset=4 local.set $5 - local.get $1 + local.get $8 + i32.load $0 offset=4 + local.set $4 + local.get $0 i32.const 12 i32.const 12 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $3 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.const 3 i32.shl - local.tee $3 + local.tee $2 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store $0 offset=4 - loop $for-loop|026 - local.get $0 - local.get $7 - i32.lt_s + loop $for-loop|019 + local.get $5 + local.get $12 + i32.gt_s if - local.get $0 + local.get $12 i32.const 3 i32.shl - local.tee $1 - local.get $5 + local.tee $0 + local.get $4 i32.add i64.load $0 local.set $11 i32.const 3 global.set $~argumentsLength + local.get $0 local.get $1 - local.get $2 i32.add local.get $11 - local.get $0 - local.get $9 + local.get $12 + local.get $8 i32.const 3856 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i64) i64.store $0 - local.get $0 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|026 + local.set $12 + br $for-loop|019 end end - local.get $4 - local.get $2 + local.get $3 + local.get $1 i32.store $0 - local.get $2 + local.get $1 if - local.get $4 - local.get $2 + local.get $3 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 - local.get $2 + local.get $3 + local.get $1 i32.store $0 offset=4 - local.get $4 local.get $3 + local.get $2 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $4 + local.get $7 + local.get $3 i32.store $0 offset=8 - local.get $4 + local.get $3 i32.const 0 call $~lib/typedarray/Uint64Array#__get i64.const 1 i64.ne - br_if $folding-inner25 - local.get $4 + br_if $folding-inner26 + local.get $3 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 4 i64.ne - br_if $folding-inner26 - local.get $4 + br_if $folding-inner27 + local.get $3 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 9 i64.ne - br_if $folding-inner27 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47691,33 +47646,33 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $9 + local.tee $8 i32.store $0 - local.get $9 + local.get $8 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set - local.get $9 + local.get $8 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set - local.get $9 + local.get $8 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 3888 i32.store $0 offset=4 @@ -47728,112 +47683,112 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $9 + local.get $8 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $7 - local.get $9 - i32.load $0 offset=4 local.set $5 - local.get $1 + local.get $8 + i32.load $0 offset=4 + local.set $4 + local.get $0 i32.const 12 i32.const 13 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $3 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.const 2 i32.shl - local.tee $3 + local.tee $2 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store $0 offset=4 - loop $for-loop|030 - local.get $0 - local.get $7 - i32.lt_s + loop $for-loop|021 + local.get $5 + local.get $12 + i32.gt_s if - local.get $0 + local.get $12 i32.const 2 i32.shl - local.tee $1 - local.get $5 + local.tee $0 + local.get $4 i32.add f32.load $0 local.set $6 i32.const 3 global.set $~argumentsLength + local.get $0 local.get $1 - local.get $2 i32.add local.get $6 - local.get $0 - local.get $9 + local.get $12 + local.get $8 i32.const 3888 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_f32) f32.store $0 - local.get $0 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|030 + local.set $12 + br $for-loop|021 end end - local.get $4 - local.get $2 + local.get $3 + local.get $1 i32.store $0 - local.get $2 + local.get $1 if - local.get $4 - local.get $2 + local.get $3 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 - local.get $2 + local.get $3 + local.get $1 i32.store $0 offset=4 - local.get $4 local.get $3 + local.get $2 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $4 + local.get $7 + local.get $3 i32.store $0 offset=8 - local.get $4 + local.get $3 i32.const 0 call $~lib/typedarray/Float32Array#__get f32.const 1 f32.ne - br_if $folding-inner25 - local.get $4 + br_if $folding-inner26 + local.get $3 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 4 f32.ne - br_if $folding-inner26 - local.get $4 + br_if $folding-inner27 + local.get $3 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 9 f32.ne - br_if $folding-inner27 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47841,33 +47796,33 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 + local.get $0 i32.const 0 i32.store $0 offset=8 - local.get $1 + local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $9 + local.tee $8 i32.store $0 - local.get $9 + local.get $8 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set - local.get $9 + local.get $8 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set - local.get $9 + local.get $8 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 3920 i32.store $0 offset=4 @@ -47878,106 +47833,106 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $9 + local.get $8 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $7 - local.get $9 - i32.load $0 offset=4 local.set $5 - local.get $1 + local.get $8 + i32.load $0 offset=4 + local.set $4 + local.get $0 i32.const 12 i32.const 14 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $3 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.const 3 i32.shl - local.tee $3 + local.tee $2 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store $0 offset=4 - loop $for-loop|033 - local.get $0 - local.get $7 - i32.lt_s + loop $for-loop|023 + local.get $5 + local.get $12 + i32.gt_s if - local.get $0 + local.get $12 i32.const 3 i32.shl - local.tee $1 - local.get $5 + local.tee $0 + local.get $4 i32.add f64.load $0 local.set $10 i32.const 3 global.set $~argumentsLength + local.get $0 local.get $1 - local.get $2 i32.add local.get $10 - local.get $0 - local.get $9 + local.get $12 + local.get $8 i32.const 3920 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_f64) f64.store $0 - local.get $0 + local.get $12 i32.const 1 i32.add - local.set $0 - br $for-loop|033 + local.set $12 + br $for-loop|023 end end - local.get $4 - local.get $2 + local.get $3 + local.get $1 i32.store $0 - local.get $2 + local.get $1 if - local.get $4 - local.get $2 + local.get $3 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 - local.get $2 + local.get $3 + local.get $1 i32.store $0 offset=4 - local.get $4 local.get $3 + local.get $2 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $4 + local.get $7 + local.get $3 i32.store $0 offset=8 - local.get $4 + local.get $3 i32.const 0 call $~lib/typedarray/Float64Array#__get f64.const 1 f64.ne - br_if $folding-inner25 - local.get $4 + br_if $folding-inner26 + local.get $3 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 4 f64.ne - br_if $folding-inner26 - local.get $4 + br_if $folding-inner27 + local.get $3 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 9 f64.ne - br_if $folding-inner27 + br_if $folding-inner28 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -48000,7 +47955,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48030,43 +47985,43 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0128 - local.get $0 + loop $for-loop|0111 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4304 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0128 + local.set $1 + br $for-loop|0111 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0131 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0113 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4336 i32.store $0 offset=4 @@ -48074,36 +48029,36 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0135 - local.get $0 + loop $for-loop|0117 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4336 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0131 + br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0113 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0135 + local.set $1 + br $for-loop|0117 end end i32.const 0 @@ -48120,7 +48075,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48150,43 +48105,43 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0140 - local.get $0 + loop $for-loop|0121 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4368 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0140 + local.set $1 + br $for-loop|0121 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0143 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0123 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4400 i32.store $0 offset=4 @@ -48194,36 +48149,36 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0147 - local.get $0 + loop $for-loop|0127 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4400 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0143 + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0123 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0147 + local.set $1 + br $for-loop|0127 end end i32.const 0 @@ -48240,7 +48195,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48262,7 +48217,7 @@ i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0150 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0129 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4432 i32.store $0 offset=4 @@ -48270,43 +48225,43 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0154 - local.get $0 + loop $for-loop|0133 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4432 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0150 + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0129 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0154 + local.set $1 + br $for-loop|0133 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0157 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0135 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4464 i32.store $0 offset=4 @@ -48314,36 +48269,36 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0161 - local.get $0 + loop $for-loop|0139 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4464 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0157 + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0135 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0161 + local.set $1 + br $for-loop|0139 end end i32.const 0 @@ -48360,7 +48315,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48390,47 +48345,47 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 - loop $for-loop|0166 - local.get $0 + loop $for-loop|0143 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4496 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0166 + local.set $1 + br $for-loop|0143 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0169 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0145 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4528 i32.store $0 offset=4 @@ -48438,40 +48393,40 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 - loop $for-loop|0173 - local.get $0 + loop $for-loop|0149 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4528 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0169 + br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0145 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0173 + local.set $1 + br $for-loop|0149 end end i32.const 0 @@ -48488,7 +48443,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48518,47 +48473,47 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 - loop $for-loop|0178 - local.get $0 + loop $for-loop|0153 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4560 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0178 + local.set $1 + br $for-loop|0153 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0181 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0155 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4592 i32.store $0 offset=4 @@ -48566,40 +48521,40 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 - loop $for-loop|0185 - local.get $0 + loop $for-loop|0159 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4592 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0181 + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0155 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0185 + local.set $1 + br $for-loop|0159 end end i32.const 0 @@ -48616,7 +48571,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48646,47 +48601,47 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 - loop $for-loop|0190 - local.get $0 + loop $for-loop|0163 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4624 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0190 + local.set $1 + br $for-loop|0163 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0193 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0165 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4656 i32.store $0 offset=4 @@ -48694,40 +48649,40 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 - loop $for-loop|0197 - local.get $0 + loop $for-loop|0169 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4656 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0193 + br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0165 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0197 + local.set $1 + br $for-loop|0169 end end i32.const 0 @@ -48744,7 +48699,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48774,47 +48729,47 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 - loop $for-loop|0202 - local.get $0 + loop $for-loop|0173 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4688 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0202 + local.set $1 + br $for-loop|0173 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0205 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0175 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4720 i32.store $0 offset=4 @@ -48822,40 +48777,40 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 - loop $for-loop|0209 - local.get $0 + loop $for-loop|0179 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 4720 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0205 + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0175 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0209 + local.set $1 + br $for-loop|0179 end end i32.const 0 @@ -48872,7 +48827,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -48902,19 +48857,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0214 + local.set $0 + loop $for-loop|0183 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -48924,25 +48879,25 @@ global.set $~argumentsLength i32.const 1 local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 4752 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0214 + local.set $1 + br $for-loop|0183 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0217 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0185 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4784 i32.store $0 offset=4 @@ -48950,19 +48905,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0221 + local.set $0 + loop $for-loop|0189 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -48972,18 +48927,18 @@ global.set $~argumentsLength i32.const 1 local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 4784 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0217 + br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0185 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0221 + local.set $1 + br $for-loop|0189 end end i32.const 0 @@ -49000,7 +48955,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49030,19 +48985,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0226 + local.set $0 + loop $for-loop|0193 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -49052,25 +49007,25 @@ global.set $~argumentsLength i32.const 1 local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 4816 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0226 + local.set $1 + br $for-loop|0193 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0229 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0195 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4848 i32.store $0 offset=4 @@ -49078,19 +49033,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0233 + local.set $0 + loop $for-loop|0199 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -49100,18 +49055,18 @@ global.set $~argumentsLength i32.const 1 local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 4848 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0229 + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0195 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0233 + local.set $1 + br $for-loop|0199 end end i32.const 0 @@ -49128,7 +49083,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49158,19 +49113,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $1 - loop $for-loop|0238 + local.set $0 + loop $for-loop|0203 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -49180,25 +49135,25 @@ global.set $~argumentsLength i32.const 1 local.get $6 - local.get $0 + local.get $1 local.get $3 i32.const 4880 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0238 + local.set $1 + br $for-loop|0203 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0241 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0205 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4912 i32.store $0 offset=4 @@ -49206,19 +49161,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $1 - loop $for-loop|0245 + local.set $0 + loop $for-loop|0209 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -49228,18 +49183,18 @@ global.set $~argumentsLength i32.const 1 local.get $6 - local.get $0 + local.get $1 local.get $3 i32.const 4912 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0241 + br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0205 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0245 + local.set $1 + br $for-loop|0209 end end i32.const 0 @@ -49256,7 +49211,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49286,19 +49241,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0250 + local.set $0 + loop $for-loop|0213 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -49308,25 +49263,25 @@ global.set $~argumentsLength i32.const 1 local.get $10 - local.get $0 + local.get $1 local.get $3 i32.const 4944 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0250 + local.set $1 + br $for-loop|0213 end end i32.const 0 end i32.eqz br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0253 (result i32) + block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0215 (result i32) global.get $~lib/memory/__stack_pointer i32.const 4976 i32.store $0 offset=4 @@ -49334,19 +49289,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0257 + local.set $0 + loop $for-loop|0219 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -49356,18 +49311,18 @@ global.set $~argumentsLength i32.const 1 local.get $10 - local.get $0 + local.get $1 local.get $3 i32.const 4976 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0253 + br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0215 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0257 + local.set $1 + br $for-loop|0219 end end i32.const 0 @@ -49384,7 +49339,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49413,41 +49368,41 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - loop $for-loop|0262 - local.get $0 + loop $for-loop|0223 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5008 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0262 + local.set $1 + br $for-loop|0223 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner8 @@ -49458,41 +49413,41 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0265 - loop $for-loop|0269 - local.get $0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0225 + loop $for-loop|0229 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5040 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0265 - local.get $0 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0225 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0269 + local.set $1 + br $for-loop|0229 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner9 @@ -49507,7 +49462,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49536,41 +49491,41 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - loop $for-loop|0274 - local.get $0 + loop $for-loop|0233 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5072 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0274 + local.set $1 + br $for-loop|0233 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner8 @@ -49581,41 +49536,41 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0277 - loop $for-loop|0281 - local.get $0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0235 + loop $for-loop|0239 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5104 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0277 - local.get $0 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0235 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0281 + local.set $1 + br $for-loop|0239 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner9 @@ -49630,7 +49585,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49659,41 +49614,41 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0284 - loop $for-loop|0288 - local.get $0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0241 + loop $for-loop|0245 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5136 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0284 - local.get $0 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0241 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0288 + local.set $1 + br $for-loop|0245 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner8 @@ -49704,41 +49659,41 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0291 - loop $for-loop|0295 - local.get $0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0247 + loop $for-loop|0251 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5168 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0291 - local.get $0 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0247 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0295 + local.set $1 + br $for-loop|0251 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner9 @@ -49753,7 +49708,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49782,45 +49737,45 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - loop $for-loop|0300 - local.get $0 + loop $for-loop|0255 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5200 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0300 + local.set $1 + br $for-loop|0255 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner8 @@ -49831,45 +49786,45 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0303 - loop $for-loop|0307 - local.get $0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0257 + loop $for-loop|0261 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5232 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0303 - local.get $0 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0257 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0307 + local.set $1 + br $for-loop|0261 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner9 @@ -49884,7 +49839,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -49913,45 +49868,45 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - loop $for-loop|0312 - local.get $0 + loop $for-loop|0265 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5264 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0312 + local.set $1 + br $for-loop|0265 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner8 @@ -49962,45 +49917,45 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0315 - loop $for-loop|0319 - local.get $0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0267 + loop $for-loop|0271 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5296 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0315 - local.get $0 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0267 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0319 + local.set $1 + br $for-loop|0271 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner9 @@ -50015,7 +49970,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50044,45 +49999,45 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - loop $for-loop|0324 - local.get $0 + loop $for-loop|0275 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5328 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0324 + local.set $1 + br $for-loop|0275 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner8 @@ -50093,45 +50048,45 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0327 - loop $for-loop|0331 - local.get $0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0277 + loop $for-loop|0281 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5360 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0327 - local.get $0 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0277 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0331 + local.set $1 + br $for-loop|0281 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner9 @@ -50146,7 +50101,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50175,45 +50130,45 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - loop $for-loop|0336 - local.get $0 + loop $for-loop|0285 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5392 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0336 + local.set $1 + br $for-loop|0285 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner8 @@ -50224,45 +50179,45 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0339 - loop $for-loop|0343 - local.get $0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0287 + loop $for-loop|0291 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 5424 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0339 - local.get $0 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0287 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0343 + local.set $1 + br $for-loop|0291 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner9 @@ -50277,7 +50232,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50306,20 +50261,20 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $0 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - loop $for-loop|0348 + loop $for-loop|0295 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -50328,23 +50283,23 @@ i32.const 3 global.set $~argumentsLength local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 5456 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0348 + local.set $1 + br $for-loop|0295 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner8 @@ -50355,20 +50310,20 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0351 - loop $for-loop|0355 + local.set $0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0297 + loop $for-loop|0301 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -50377,23 +50332,23 @@ i32.const 3 global.set $~argumentsLength local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 5488 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0351 - local.get $0 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0297 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0355 + local.set $1 + br $for-loop|0301 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner9 @@ -50408,7 +50363,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50437,20 +50392,20 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $0 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - loop $for-loop|0360 + loop $for-loop|0305 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -50459,23 +50414,23 @@ i32.const 3 global.set $~argumentsLength local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 5520 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0360 + local.set $1 + br $for-loop|0305 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner8 @@ -50486,20 +50441,20 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0363 - loop $for-loop|0367 + local.set $0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0307 + loop $for-loop|0311 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -50508,23 +50463,23 @@ i32.const 3 global.set $~argumentsLength local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 5552 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0363 - local.get $0 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0307 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0367 + local.set $1 + br $for-loop|0311 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner9 @@ -50539,7 +50494,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50568,20 +50523,20 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $1 + local.set $0 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - loop $for-loop|0372 + loop $for-loop|0315 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -50590,23 +50545,23 @@ i32.const 3 global.set $~argumentsLength local.get $6 - local.get $0 + local.get $1 local.get $3 i32.const 5584 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0372 + local.set $1 + br $for-loop|0315 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner8 @@ -50617,20 +50572,20 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $1 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0375 - loop $for-loop|0379 + local.set $0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0317 + loop $for-loop|0321 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -50639,23 +50594,23 @@ i32.const 3 global.set $~argumentsLength local.get $6 - local.get $0 + local.get $1 local.get $3 i32.const 5616 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0375 - local.get $0 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0317 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0379 + local.set $1 + br $for-loop|0321 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner9 @@ -50670,7 +50625,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50699,20 +50654,20 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 + local.set $0 block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - loop $for-loop|0384 + loop $for-loop|0325 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -50721,23 +50676,23 @@ i32.const 3 global.set $~argumentsLength local.get $10 - local.get $0 + local.get $1 local.get $3 i32.const 5648 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0384 + local.set $1 + br $for-loop|0325 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner8 @@ -50748,20 +50703,20 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0387 - loop $for-loop|0391 + local.set $0 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0327 + loop $for-loop|0331 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -50770,23 +50725,23 @@ i32.const 3 global.set $~argumentsLength local.get $10 - local.get $0 + local.get $1 local.get $3 i32.const 5680 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0387 - local.get $0 + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0327 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0391 + local.set $1 + br $for-loop|0331 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner9 @@ -50801,7 +50756,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50833,38 +50788,38 @@ i32.load $0 offset=8 i32.const 1 i32.sub - local.set $0 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - loop $for-loop|0396 - local.get $0 + loop $for-loop|0335 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 local.get $2 i32.add i32.load8_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 5712 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0396 + local.set $1 + br $for-loop|0335 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner10 @@ -50878,38 +50833,38 @@ i32.load $0 offset=8 i32.const 1 i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0399 - loop $for-loop|0403 - local.get $0 + local.set $1 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0337 + loop $for-loop|0341 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 local.get $2 i32.add i32.load8_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 5744 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0399 - local.get $0 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0337 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0403 + local.set $1 + br $for-loop|0341 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner11 @@ -50924,7 +50879,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -50956,38 +50911,38 @@ i32.load $0 offset=8 i32.const 1 i32.sub - local.set $0 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - loop $for-loop|0408 - local.get $0 + loop $for-loop|0345 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 local.get $2 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 5776 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0408 + local.set $1 + br $for-loop|0345 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner10 @@ -51001,38 +50956,38 @@ i32.load $0 offset=8 i32.const 1 i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0411 - loop $for-loop|0415 - local.get $0 + local.set $1 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0347 + loop $for-loop|0351 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 local.get $2 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 5808 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0411 - local.get $0 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0347 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0415 + local.set $1 + br $for-loop|0351 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner11 @@ -51047,7 +51002,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51079,38 +51034,38 @@ i32.load $0 offset=8 i32.const 1 i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0418 - loop $for-loop|0422 - local.get $0 + local.set $1 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0353 + loop $for-loop|0357 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 local.get $2 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 5840 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0418 - local.get $0 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0353 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0422 + local.set $1 + br $for-loop|0357 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner10 @@ -51124,38 +51079,38 @@ i32.load $0 offset=8 i32.const 1 i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0425 - loop $for-loop|0429 - local.get $0 + local.set $1 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0359 + loop $for-loop|0363 + local.get $1 i32.const 0 i32.ge_s if - local.get $0 + local.get $1 local.get $2 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 5872 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0425 - local.get $0 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0359 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0429 + local.set $1 + br $for-loop|0363 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner11 @@ -51170,7 +51125,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51204,40 +51159,40 @@ i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - loop $for-loop|0434 - local.get $0 + loop $for-loop|0367 + local.get $1 i32.const 0 i32.ge_s if local.get $2 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 5904 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0434 + local.set $1 + br $for-loop|0367 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner10 @@ -51253,40 +51208,40 @@ i32.shr_u i32.const 1 i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0437 - loop $for-loop|0441 - local.get $0 + local.set $1 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0369 + loop $for-loop|0373 + local.get $1 i32.const 0 i32.ge_s if local.get $2 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 5936 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0437 - local.get $0 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0369 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0441 + local.set $1 + br $for-loop|0373 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner11 @@ -51301,7 +51256,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51335,40 +51290,40 @@ i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - loop $for-loop|0446 - local.get $0 + loop $for-loop|0377 + local.get $1 i32.const 0 i32.ge_s if local.get $2 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 5968 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0446 + local.set $1 + br $for-loop|0377 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner10 @@ -51384,40 +51339,40 @@ i32.shr_u i32.const 1 i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0449 - loop $for-loop|0453 - local.get $0 + local.set $1 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0379 + loop $for-loop|0383 + local.get $1 i32.const 0 i32.ge_s if local.get $2 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 6000 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0449 - local.get $0 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0379 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0453 + local.set $1 + br $for-loop|0383 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner11 @@ -51432,7 +51387,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51466,40 +51421,40 @@ i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - loop $for-loop|0458 - local.get $0 + loop $for-loop|0387 + local.get $1 i32.const 0 i32.ge_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 6032 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0458 + local.set $1 + br $for-loop|0387 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner10 @@ -51515,40 +51470,40 @@ i32.shr_u i32.const 1 i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0461 - loop $for-loop|0465 - local.get $0 + local.set $1 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0389 + loop $for-loop|0393 + local.get $1 i32.const 0 i32.ge_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 6064 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0461 - local.get $0 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0389 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0465 + local.set $1 + br $for-loop|0393 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner11 @@ -51563,7 +51518,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51597,40 +51552,40 @@ i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - loop $for-loop|0470 - local.get $0 + loop $for-loop|0397 + local.get $1 i32.const 0 i32.ge_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 6096 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0470 + local.set $1 + br $for-loop|0397 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner10 @@ -51646,40 +51601,40 @@ i32.shr_u i32.const 1 i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0473 - loop $for-loop|0477 - local.get $0 + local.set $1 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0399 + loop $for-loop|0403 + local.get $1 i32.const 0 i32.ge_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $3 i32.const 6128 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0473 - local.get $0 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0399 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0477 + local.set $1 + br $for-loop|0403 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner11 @@ -51694,7 +51649,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51721,22 +51676,22 @@ i32.store $0 offset=4 local.get $2 i32.load $0 offset=4 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - loop $for-loop|0482 - local.get $0 + loop $for-loop|0407 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -51745,23 +51700,23 @@ i32.const 3 global.set $~argumentsLength local.get $11 - local.get $0 + local.get $1 local.get $2 i32.const 6160 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0482 + local.set $1 + br $for-loop|0407 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner10 @@ -51770,22 +51725,22 @@ i32.store $0 offset=4 local.get $2 i32.load $0 offset=4 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0485 - loop $for-loop|0489 - local.get $0 + local.set $1 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0409 + loop $for-loop|0413 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -51794,23 +51749,23 @@ i32.const 3 global.set $~argumentsLength local.get $11 - local.get $0 + local.get $1 local.get $2 i32.const 6192 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0485 - local.get $0 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0409 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0489 + local.set $1 + br $for-loop|0413 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner11 @@ -51825,7 +51780,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51852,22 +51807,22 @@ i32.store $0 offset=4 local.get $2 i32.load $0 offset=4 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - loop $for-loop|0494 - local.get $0 + loop $for-loop|0417 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -51876,23 +51831,23 @@ i32.const 3 global.set $~argumentsLength local.get $11 - local.get $0 + local.get $1 local.get $2 i32.const 6224 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0494 + local.set $1 + br $for-loop|0417 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner10 @@ -51901,22 +51856,22 @@ i32.store $0 offset=4 local.get $2 i32.load $0 offset=4 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0497 - loop $for-loop|0501 - local.get $0 + local.set $1 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0419 + loop $for-loop|0423 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -51925,23 +51880,23 @@ i32.const 3 global.set $~argumentsLength local.get $11 - local.get $0 + local.get $1 local.get $2 i32.const 6256 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0497 - local.get $0 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0419 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0501 + local.set $1 + br $for-loop|0423 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner11 @@ -51956,7 +51911,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -51983,22 +51938,22 @@ i32.store $0 offset=4 local.get $2 i32.load $0 offset=4 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - loop $for-loop|0506 - local.get $0 + loop $for-loop|0427 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -52007,23 +51962,23 @@ i32.const 3 global.set $~argumentsLength local.get $6 - local.get $0 + local.get $1 local.get $2 i32.const 6288 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0506 + local.set $1 + br $for-loop|0427 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner10 @@ -52032,22 +51987,22 @@ i32.store $0 offset=4 local.get $2 i32.load $0 offset=4 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=8 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0509 - loop $for-loop|0513 - local.get $0 + local.set $1 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0429 + loop $for-loop|0433 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -52056,23 +52011,23 @@ i32.const 3 global.set $~argumentsLength local.get $6 - local.get $0 + local.get $1 local.get $2 i32.const 6320 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0509 - local.get $0 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0429 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0513 + local.set $1 + br $for-loop|0433 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner11 @@ -52087,7 +52042,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52114,22 +52069,22 @@ i32.store $0 offset=4 local.get $2 i32.load $0 offset=4 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $0 + local.set $1 block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - loop $for-loop|0518 - local.get $0 + loop $for-loop|0437 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -52138,23 +52093,23 @@ i32.const 3 global.set $~argumentsLength local.get $10 - local.get $0 + local.get $1 local.get $2 i32.const 6352 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0518 + local.set $1 + br $for-loop|0437 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const 1 i32.ne br_if $folding-inner10 @@ -52163,22 +52118,22 @@ i32.store $0 offset=4 local.get $2 i32.load $0 offset=4 - local.set $1 + local.set $0 local.get $2 i32.load $0 offset=8 i32.const 3 i32.shr_u i32.const 1 i32.sub - local.set $0 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0521 - loop $for-loop|0525 - local.get $0 + local.set $1 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0439 + loop $for-loop|0443 + local.get $1 i32.const 0 i32.ge_s if - local.get $1 local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -52187,23 +52142,23 @@ i32.const 3 global.set $~argumentsLength local.get $10 - local.get $0 + local.get $1 local.get $2 i32.const 6384 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0521 - local.get $0 + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0439 + local.get $1 i32.const 1 i32.sub - local.set $0 - br $for-loop|0525 + local.set $1 + br $for-loop|0443 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne br_if $folding-inner11 @@ -52218,7 +52173,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52248,25 +52203,25 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0530 - local.get $0 + loop $for-loop|0447 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6416 i32.load $0 @@ -52274,18 +52229,18 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0530 + local.set $1 + br $for-loop|0447 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0533 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0449 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6448 i32.store $0 offset=4 @@ -52293,37 +52248,37 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0537 - local.get $0 + loop $for-loop|0453 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6448 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0533 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0449 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0537 + local.set $1 + br $for-loop|0453 end end i32.const 1 @@ -52340,7 +52295,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52370,25 +52325,25 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0542 - local.get $0 + loop $for-loop|0458 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6480 i32.load $0 @@ -52396,18 +52351,18 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0542 + local.set $1 + br $for-loop|0458 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0545 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0461 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6512 i32.store $0 offset=4 @@ -52415,37 +52370,37 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0549 - local.get $0 + loop $for-loop|0465 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6512 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0545 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0461 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0549 + local.set $1 + br $for-loop|0465 end end i32.const 1 @@ -52462,7 +52417,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52484,7 +52439,7 @@ i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0552 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0468 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6544 i32.store $0 offset=4 @@ -52492,44 +52447,44 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0556 - local.get $0 + loop $for-loop|0472 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6544 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0552 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0468 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0556 + local.set $1 + br $for-loop|0472 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0559 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0475 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6576 i32.store $0 offset=4 @@ -52537,37 +52492,37 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0563 - local.get $0 + loop $for-loop|0479 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6576 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0559 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0475 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0563 + local.set $1 + br $for-loop|0479 end end i32.const 1 @@ -52584,7 +52539,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52614,29 +52569,29 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 - loop $for-loop|0568 - local.get $0 + loop $for-loop|0484 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6608 i32.load $0 @@ -52644,18 +52599,18 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0568 + local.set $1 + br $for-loop|0484 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0571 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0487 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6640 i32.store $0 offset=4 @@ -52663,41 +52618,41 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 - loop $for-loop|0575 - local.get $0 + loop $for-loop|0491 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6640 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0571 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0487 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0575 + local.set $1 + br $for-loop|0491 end end i32.const 1 @@ -52714,7 +52669,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52744,29 +52699,29 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 - loop $for-loop|0580 - local.get $0 + loop $for-loop|0496 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6672 i32.load $0 @@ -52774,18 +52729,18 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0580 + local.set $1 + br $for-loop|0496 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0583 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0499 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6704 i32.store $0 offset=4 @@ -52793,41 +52748,41 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 - loop $for-loop|0587 - local.get $0 + loop $for-loop|0503 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6704 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0583 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0499 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0587 + local.set $1 + br $for-loop|0503 end end i32.const 1 @@ -52844,7 +52799,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -52874,29 +52829,29 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 - loop $for-loop|0592 - local.get $0 + loop $for-loop|0508 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6736 i32.load $0 @@ -52904,18 +52859,18 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0592 + local.set $1 + br $for-loop|0508 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0595 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0511 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6768 i32.store $0 offset=4 @@ -52923,41 +52878,41 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 - loop $for-loop|0599 - local.get $0 + loop $for-loop|0515 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6768 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0595 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0511 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0599 + local.set $1 + br $for-loop|0515 end end i32.const 1 @@ -52974,7 +52929,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53004,29 +52959,29 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 - loop $for-loop|0604 - local.get $0 + loop $for-loop|0520 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6800 i32.load $0 @@ -53034,18 +52989,18 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0604 + local.set $1 + br $for-loop|0520 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0607 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0523 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6832 i32.store $0 offset=4 @@ -53053,41 +53008,41 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 - loop $for-loop|0611 - local.get $0 + loop $for-loop|0527 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 6832 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0607 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0523 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0611 + local.set $1 + br $for-loop|0527 end end i32.const 1 @@ -53104,7 +53059,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53134,19 +53089,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0616 + local.set $0 + loop $for-loop|0532 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -53156,7 +53111,7 @@ global.set $~argumentsLength i32.const 0 local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 6864 i32.load $0 @@ -53164,18 +53119,18 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0616 + local.set $1 + br $for-loop|0532 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0619 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0535 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6896 i32.store $0 offset=4 @@ -53183,19 +53138,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0623 + local.set $0 + loop $for-loop|0539 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -53205,19 +53160,19 @@ global.set $~argumentsLength i32.const 0 local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 6896 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0619 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0535 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0623 + local.set $1 + br $for-loop|0539 end end i32.const 1 @@ -53234,7 +53189,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53264,19 +53219,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0628 + local.set $0 + loop $for-loop|0544 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -53286,7 +53241,7 @@ global.set $~argumentsLength i32.const 0 local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 6928 i32.load $0 @@ -53294,18 +53249,18 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0628 + local.set $1 + br $for-loop|0544 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0631 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0547 (result i32) global.get $~lib/memory/__stack_pointer i32.const 6960 i32.store $0 offset=4 @@ -53313,19 +53268,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0635 + local.set $0 + loop $for-loop|0551 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -53335,19 +53290,19 @@ global.set $~argumentsLength i32.const 0 local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 6960 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0631 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0547 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0635 + local.set $1 + br $for-loop|0551 end end i32.const 1 @@ -53364,7 +53319,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53394,19 +53349,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $1 - loop $for-loop|0640 + local.set $0 + loop $for-loop|0556 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -53416,7 +53371,7 @@ global.set $~argumentsLength i32.const 0 local.get $6 - local.get $0 + local.get $1 local.get $3 i32.const 6992 i32.load $0 @@ -53424,18 +53379,18 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0640 + local.set $1 + br $for-loop|0556 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0643 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0559 (result i32) global.get $~lib/memory/__stack_pointer i32.const 7024 i32.store $0 offset=4 @@ -53443,19 +53398,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $1 - loop $for-loop|0647 + local.set $0 + loop $for-loop|0563 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -53465,19 +53420,19 @@ global.set $~argumentsLength i32.const 0 local.get $6 - local.get $0 + local.get $1 local.get $3 i32.const 7024 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0643 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0559 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0647 + local.set $1 + br $for-loop|0563 end end i32.const 1 @@ -53494,7 +53449,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53524,19 +53479,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0652 + local.set $0 + loop $for-loop|0568 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -53546,7 +53501,7 @@ global.set $~argumentsLength i32.const 0 local.get $10 - local.get $0 + local.get $1 local.get $3 i32.const 7056 i32.load $0 @@ -53554,18 +53509,18 @@ i32.eqz br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0652 + local.set $1 + br $for-loop|0568 end end i32.const 1 end i32.eqz br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0655 (result i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0571 (result i32) global.get $~lib/memory/__stack_pointer i32.const 7088 i32.store $0 offset=4 @@ -53573,19 +53528,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0659 + local.set $0 + loop $for-loop|0575 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -53595,19 +53550,19 @@ global.set $~argumentsLength i32.const 0 local.get $10 - local.get $0 + local.get $1 local.get $3 i32.const 7088 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_i32) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0655 + br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0571 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0659 + local.set $1 + br $for-loop|0575 end end i32.const 1 @@ -53624,7 +53579,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53678,33 +53633,33 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0664 - local.get $0 + loop $for-loop|0580 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 7200 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0664 + local.set $1 + br $for-loop|0580 end end global.get $std/typedarray/forEachCallCount @@ -53722,7 +53677,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53779,33 +53734,33 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0669 - local.get $0 + loop $for-loop|0584 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 7232 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0669 + local.set $1 + br $for-loop|0584 end end global.get $std/typedarray/forEachCallCount @@ -53823,7 +53778,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53880,33 +53835,33 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 local.set $2 - loop $for-loop|0676 - local.get $0 + loop $for-loop|0590 + local.get $1 local.get $2 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.load8_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 7264 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0676 + local.set $1 + br $for-loop|0590 end end global.get $std/typedarray/forEachCallCount @@ -53924,7 +53879,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -53978,37 +53933,37 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 - loop $for-loop|0681 - local.get $0 + loop $for-loop|0594 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 7296 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0681 + local.set $1 + br $for-loop|0594 end end global.get $std/typedarray/forEachCallCount @@ -54026,7 +53981,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54083,37 +54038,37 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 1 i32.shr_u local.set $2 - loop $for-loop|0686 - local.get $0 + loop $for-loop|0598 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_u $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 7328 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0686 + local.set $1 + br $for-loop|0598 end end global.get $std/typedarray/forEachCallCount @@ -54131,7 +54086,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54182,37 +54137,37 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 - loop $for-loop|0691 - local.get $0 + loop $for-loop|0602 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 7360 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0691 + local.set $1 + br $for-loop|0602 end end global.get $std/typedarray/forEachCallCount @@ -54230,7 +54185,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54281,37 +54236,37 @@ i32.load $0 offset=4 local.set $3 i32.const 0 - local.set $0 + local.set $1 local.get $4 i32.load $0 offset=8 i32.const 2 i32.shr_u local.set $2 - loop $for-loop|0696 - local.get $0 + loop $for-loop|0606 + local.get $1 local.get $2 i32.lt_s if local.get $3 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.set $1 + local.set $0 i32.const 3 global.set $~argumentsLength - local.get $1 local.get $0 + local.get $1 local.get $4 i32.const 7392 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0696 + local.set $1 + br $for-loop|0606 end end global.get $std/typedarray/forEachCallCount @@ -54329,7 +54284,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54383,19 +54338,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0701 + local.set $0 + loop $for-loop|0610 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -54404,16 +54359,16 @@ i32.const 3 global.set $~argumentsLength local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 7424 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0701 + local.set $1 + br $for-loop|0610 end end global.get $std/typedarray/forEachCallCount @@ -54431,7 +54386,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54485,19 +54440,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0706 + local.set $0 + loop $for-loop|0614 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -54506,16 +54461,16 @@ i32.const 3 global.set $~argumentsLength local.get $11 - local.get $0 + local.get $1 local.get $3 i32.const 7456 i32.load $0 call_indirect $0 (type $i64_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0706 + local.set $1 + br $for-loop|0614 end end global.get $std/typedarray/forEachCallCount @@ -54533,7 +54488,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54587,19 +54542,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $1 - loop $for-loop|0711 + local.set $0 + loop $for-loop|0618 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -54608,16 +54563,16 @@ i32.const 3 global.set $~argumentsLength local.get $6 - local.get $0 + local.get $1 local.get $3 i32.const 7488 i32.load $0 call_indirect $0 (type $f32_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0711 + local.set $1 + br $for-loop|0618 end end global.get $std/typedarray/forEachCallCount @@ -54635,7 +54590,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -54689,19 +54644,19 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 + local.set $1 local.get $3 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $1 - loop $for-loop|0716 + local.set $0 + loop $for-loop|0622 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -54710,16 +54665,16 @@ i32.const 3 global.set $~argumentsLength local.get $10 - local.get $0 + local.get $1 local.get $3 i32.const 7520 i32.load $0 call_indirect $0 (type $f64_i32_i32_=>_none) - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0716 + local.set $1 + br $for-loop|0622 end end global.get $std/typedarray/forEachCallCount @@ -54737,7 +54692,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -54751,74 +54706,74 @@ i32.load $0 local.tee $3 call $~lib/typedarray/Int8Array#constructor - local.tee $2 + local.tee $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer local.get $3 call $~lib/typedarray/Int8Array#constructor - local.tee $0 + local.tee $2 i32.store $0 offset=8 i32.const 0 - local.set $1 - loop $for-loop|0719 - local.get $1 + local.set $0 + loop $for-loop|0624 + local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i32.extend8_s call $~lib/typedarray/Int8Array#__set + local.get $2 local.get $0 - local.get $1 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i32.extend8_s call $~lib/typedarray/Int8Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0719 + local.set $0 + br $for-loop|0624 end end - local.get $2 + local.get $1 call $~lib/typedarray/Int8Array#reverse drop i32.const 0 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $1 + local.get $0 call $~lib/typedarray/Int8Array#__get i32.const 7616 local.get $3 i32.const 1 i32.sub - local.get $1 + local.get $0 i32.sub call $~lib/array/Array#__get i32.extend8_s i32.ne br_if $folding-inner15 - 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.set $1 - local.get $0 + local.get $2 i32.const 4 i32.const 8 call $~lib/typedarray/Int8Array#subarray @@ -54866,7 +54821,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -54880,77 +54835,77 @@ i32.load $0 local.tee $3 call $~lib/typedarray/Uint8Array#constructor - local.tee $2 + local.tee $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer local.get $3 call $~lib/typedarray/Uint8Array#constructor - local.tee $0 + local.tee $2 i32.store $0 offset=8 i32.const 0 - local.set $1 - loop $for-loop|0724 - local.get $1 + local.set $0 + loop $for-loop|0628 + local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set + local.get $2 local.get $0 - local.get $1 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0724 + local.set $0 + br $for-loop|0628 end end - local.get $2 + local.get $1 call $~lib/typedarray/Int8Array#reverse drop i32.const 0 - local.set $1 - loop $for-loop|1726 - local.get $1 + local.set $0 + loop $for-loop|1629 + local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $1 + local.get $0 call $~lib/typedarray/Uint8Array#__get i32.const 7616 local.get $3 i32.const 1 i32.sub - local.get $1 + local.get $0 i32.sub call $~lib/array/Array#__get i32.const 255 i32.and i32.ne br_if $folding-inner15 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|1726 + local.set $0 + br $for-loop|1629 end end global.get $~lib/memory/__stack_pointer local.set $1 - local.get $0 + local.get $2 i32.const 8 call $~lib/typedarray/Uint8Array#subarray local.set $0 @@ -54997,7 +54952,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -55011,77 +54966,77 @@ i32.load $0 local.tee $3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 + local.tee $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer local.get $3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 + local.tee $2 i32.store $0 offset=8 i32.const 0 - local.set $1 - loop $for-loop|0731 - local.get $1 + local.set $0 + loop $for-loop|0633 + local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set + local.get $2 local.get $0 - local.get $1 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0731 + local.set $0 + br $for-loop|0633 end end - local.get $2 + local.get $1 call $~lib/typedarray/Int8Array#reverse drop i32.const 0 - local.set $1 - loop $for-loop|1733 - local.get $1 + local.set $0 + loop $for-loop|1634 + local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $1 + local.get $0 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 7616 local.get $3 i32.const 1 i32.sub - local.get $1 + local.get $0 i32.sub call $~lib/array/Array#__get i32.const 255 i32.and i32.ne br_if $folding-inner15 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|1733 + local.set $0 + br $for-loop|1634 end end global.get $~lib/memory/__stack_pointer local.set $1 - local.get $0 + local.get $2 i32.const 8 call $~lib/typedarray/Uint8ClampedArray#subarray local.set $0 @@ -55128,7 +55083,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -55142,74 +55097,74 @@ i32.load $0 local.tee $3 call $~lib/typedarray/Int16Array#constructor - local.tee $2 + local.tee $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer local.get $3 call $~lib/typedarray/Int16Array#constructor - local.tee $0 + local.tee $2 i32.store $0 offset=8 i32.const 0 - local.set $1 - loop $for-loop|0738 - local.get $1 + local.set $0 + loop $for-loop|0638 + local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i32.extend16_s call $~lib/typedarray/Int16Array#__set + local.get $2 local.get $0 - local.get $1 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i32.extend16_s call $~lib/typedarray/Int16Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0738 + local.set $0 + br $for-loop|0638 end end - local.get $2 + local.get $1 call $~lib/typedarray/Int16Array#reverse drop i32.const 0 - local.set $1 - loop $for-loop|1740 - local.get $1 + local.set $0 + loop $for-loop|1639 + local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $1 + local.get $0 call $~lib/typedarray/Int16Array#__get i32.const 7616 local.get $3 i32.const 1 i32.sub - local.get $1 + local.get $0 i32.sub call $~lib/array/Array#__get i32.extend16_s i32.ne br_if $folding-inner15 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|1740 + local.set $0 + br $for-loop|1639 end end global.get $~lib/memory/__stack_pointer local.set $1 - local.get $0 + local.get $2 i32.const 8 call $~lib/typedarray/Int16Array#subarray local.set $0 @@ -55256,7 +55211,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -55270,77 +55225,77 @@ i32.load $0 local.tee $3 call $~lib/typedarray/Uint16Array#constructor - local.tee $2 + local.tee $1 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer local.get $3 call $~lib/typedarray/Uint16Array#constructor - local.tee $0 + local.tee $2 i32.store $0 offset=8 i32.const 0 - local.set $1 - loop $for-loop|0745 - local.get $1 + local.set $0 + loop $for-loop|0643 + local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set + local.get $2 local.get $0 - local.get $1 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i32.const 65535 i32.and call $~lib/typedarray/Uint16Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0745 + local.set $0 + br $for-loop|0643 end end - local.get $2 + local.get $1 call $~lib/typedarray/Int16Array#reverse drop i32.const 0 - local.set $1 - loop $for-loop|1747 - local.get $1 + local.set $0 + loop $for-loop|1644 + local.get $0 local.get $3 i32.lt_s if - local.get $2 local.get $1 + local.get $0 call $~lib/typedarray/Uint16Array#__get i32.const 7616 local.get $3 i32.const 1 i32.sub - local.get $1 + local.get $0 i32.sub call $~lib/array/Array#__get i32.const 65535 i32.and i32.ne br_if $folding-inner15 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|1747 + local.set $0 + br $for-loop|1644 end end global.get $~lib/memory/__stack_pointer local.set $1 - local.get $0 + local.get $2 i32.const 8 call $~lib/typedarray/Uint16Array#subarray local.set $0 @@ -55387,7 +55342,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -55409,33 +55364,33 @@ local.tee $7 i32.store $0 offset=8 i32.const 0 - local.set $1 - loop $for-loop|0752 - local.get $1 + local.set $0 + loop $for-loop|0648 + local.get $0 local.get $9 i32.lt_s if local.get $8 - local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set local.get $7 - local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0752 + local.set $0 + br $for-loop|0648 end end i32.const 0 - local.set $1 + local.set $0 local.get $8 i32.load $0 offset=4 local.set $5 @@ -55443,77 +55398,77 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $0 + local.tee $1 i32.const 1 i32.gt_u if - local.get $0 + local.get $1 i32.const 1 i32.shr_u local.set $4 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $3 loop $while-continue|0 - local.get $1 + local.get $0 local.get $4 i32.lt_u if local.get $5 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $1 i32.load $0 local.set $2 - local.get $0 + local.get $1 local.get $5 local.get $3 - local.get $1 + local.get $0 i32.sub i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $1 i32.load $0 i32.store $0 - local.get $0 + local.get $1 local.get $2 i32.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end end i32.const 0 - local.set $1 - loop $for-loop|1754 - local.get $1 + local.set $0 + loop $for-loop|1649 + local.get $0 local.get $9 i32.lt_s if local.get $8 - local.get $1 + local.get $0 call $~lib/typedarray/Int32Array#__get i32.const 7616 local.get $9 i32.const 1 i32.sub - local.get $1 + local.get $0 i32.sub call $~lib/array/Array#__get i32.ne br_if $folding-inner15 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|1754 + local.set $0 + br $for-loop|1649 end end global.get $~lib/memory/__stack_pointer @@ -55527,7 +55482,7 @@ local.get $7 i32.store $0 offset=12 i32.const 0 - local.set $1 + local.set $0 local.get $7 i32.load $0 offset=4 local.set $5 @@ -55535,50 +55490,50 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $0 + local.tee $1 i32.const 1 i32.gt_u if - local.get $0 + local.get $1 i32.const 1 i32.shr_u local.set $4 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $3 - loop $while-continue|03 - local.get $1 + loop $while-continue|025 + local.get $0 local.get $4 i32.lt_u if local.get $5 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $1 i32.load $0 local.set $2 - local.get $0 + local.get $1 local.get $5 local.get $3 - local.get $1 + local.get $0 i32.sub i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $1 i32.load $0 i32.store $0 - local.get $0 + local.get $1 local.get $2 i32.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|03 + local.set $0 + br $while-continue|025 end end end @@ -55620,7 +55575,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -55642,33 +55597,33 @@ local.tee $7 i32.store $0 offset=8 i32.const 0 - local.set $1 - loop $for-loop|0759 - local.get $1 + local.set $0 + loop $for-loop|0653 + local.get $0 local.get $9 i32.lt_s if local.get $8 - local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set local.get $7 - local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0759 + local.set $0 + br $for-loop|0653 end end i32.const 0 - local.set $1 + local.set $0 local.get $8 i32.load $0 offset=4 local.set $5 @@ -55676,77 +55631,77 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $0 + local.tee $1 i32.const 1 i32.gt_u if - local.get $0 + local.get $1 i32.const 1 i32.shr_u local.set $4 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $3 - loop $while-continue|05 - local.get $1 + loop $while-continue|027 + local.get $0 local.get $4 i32.lt_u if local.get $5 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $1 i32.load $0 local.set $2 - local.get $0 + local.get $1 local.get $5 local.get $3 - local.get $1 + local.get $0 i32.sub i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $1 i32.load $0 i32.store $0 - local.get $0 + local.get $1 local.get $2 i32.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|05 + local.set $0 + br $while-continue|027 end end end i32.const 0 - local.set $1 - loop $for-loop|1761 - local.get $1 + local.set $0 + loop $for-loop|1654 + local.get $0 local.get $9 i32.lt_s if local.get $8 - local.get $1 + local.get $0 call $~lib/typedarray/Uint32Array#__get i32.const 7616 local.get $9 i32.const 1 i32.sub - local.get $1 + local.get $0 i32.sub call $~lib/array/Array#__get i32.ne br_if $folding-inner15 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|1761 + local.set $0 + br $for-loop|1654 end end global.get $~lib/memory/__stack_pointer @@ -55759,7 +55714,7 @@ local.get $7 i32.store $0 offset=12 i32.const 0 - local.set $1 + local.set $0 local.get $7 i32.load $0 offset=4 local.set $5 @@ -55767,50 +55722,50 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $0 + local.tee $1 i32.const 1 i32.gt_u if - local.get $0 + local.get $1 i32.const 1 i32.shr_u local.set $4 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $3 - loop $while-continue|07 - local.get $1 + loop $while-continue|029 + local.get $0 local.get $4 i32.lt_u if local.get $5 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $1 i32.load $0 local.set $2 - local.get $0 + local.get $1 local.get $5 local.get $3 - local.get $1 + local.get $0 i32.sub i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $1 i32.load $0 i32.store $0 - local.get $0 + local.get $1 local.get $2 i32.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|07 + local.set $0 + br $while-continue|029 end end end @@ -55852,7 +55807,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -55874,35 +55829,35 @@ local.tee $5 i32.store $0 offset=8 i32.const 0 - local.set $1 - loop $for-loop|0766 - local.get $1 + local.set $0 + loop $for-loop|0658 + local.get $0 local.get $8 i32.lt_s if local.get $7 - local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Int64Array#__set local.get $5 - local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Int64Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0766 + local.set $0 + br $for-loop|0658 end end i32.const 0 - local.set $1 + local.set $0 local.get $7 i32.load $0 offset=4 local.set $4 @@ -55910,78 +55865,78 @@ i32.load $0 offset=8 i32.const 3 i32.shr_u - local.tee $0 + local.tee $1 i32.const 1 i32.gt_u if - local.get $0 + local.get $1 i32.const 1 i32.shr_u local.set $3 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $2 - loop $while-continue|08 - local.get $1 + loop $while-continue|030 + local.get $0 local.get $3 i32.lt_u if local.get $4 - local.get $1 + local.get $0 i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $1 i64.load $0 local.set $11 - local.get $0 + local.get $1 local.get $4 local.get $2 - local.get $1 + local.get $0 i32.sub i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $1 i64.load $0 i64.store $0 - local.get $0 + local.get $1 local.get $11 i64.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|08 + local.set $0 + br $while-continue|030 end end end i32.const 0 - local.set $1 - loop $for-loop|1768 - local.get $1 + local.set $0 + loop $for-loop|1659 + local.get $0 local.get $8 i32.lt_s if local.get $7 - local.get $1 + local.get $0 call $~lib/typedarray/Int64Array#__get i32.const 7616 local.get $8 i32.const 1 i32.sub - local.get $1 + local.get $0 i32.sub call $~lib/array/Array#__get i64.extend_i32_s i64.ne br_if $folding-inner15 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|1768 + local.set $0 + br $for-loop|1659 end end global.get $~lib/memory/__stack_pointer @@ -55994,7 +55949,7 @@ local.get $5 i32.store $0 offset=12 i32.const 0 - local.set $1 + local.set $0 local.get $5 i32.load $0 offset=4 local.set $4 @@ -56002,50 +55957,50 @@ i32.load $0 offset=8 i32.const 3 i32.shr_u - local.tee $0 + local.tee $1 i32.const 1 i32.gt_u if - local.get $0 + local.get $1 i32.const 1 i32.shr_u local.set $3 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $2 - loop $while-continue|010 - local.get $1 + loop $while-continue|032 + local.get $0 local.get $3 i32.lt_u if local.get $4 - local.get $1 + local.get $0 i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $1 i64.load $0 local.set $11 - local.get $0 + local.get $1 local.get $4 local.get $2 - local.get $1 + local.get $0 i32.sub i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $1 i64.load $0 i64.store $0 - local.get $0 + local.get $1 local.get $11 i64.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|010 + local.set $0 + br $while-continue|032 end end end @@ -56087,7 +56042,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -56109,35 +56064,35 @@ local.tee $5 i32.store $0 offset=8 i32.const 0 - local.set $1 - loop $for-loop|0773 - local.get $1 + local.set $0 + loop $for-loop|0663 + local.get $0 local.get $8 i32.lt_s if local.get $7 - local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set local.get $5 - local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0773 + local.set $0 + br $for-loop|0663 end end i32.const 0 - local.set $1 + local.set $0 local.get $7 i32.load $0 offset=4 local.set $4 @@ -56145,78 +56100,78 @@ i32.load $0 offset=8 i32.const 3 i32.shr_u - local.tee $0 + local.tee $1 i32.const 1 i32.gt_u if - local.get $0 + local.get $1 i32.const 1 i32.shr_u local.set $3 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $2 - loop $while-continue|012 - local.get $1 + loop $while-continue|034 + local.get $0 local.get $3 i32.lt_u if local.get $4 - local.get $1 + local.get $0 i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $1 i64.load $0 local.set $11 - local.get $0 + local.get $1 local.get $4 local.get $2 - local.get $1 + local.get $0 i32.sub i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $1 i64.load $0 i64.store $0 - local.get $0 + local.get $1 local.get $11 i64.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|012 + local.set $0 + br $while-continue|034 end end end i32.const 0 - local.set $1 - loop $for-loop|1775 - local.get $1 + local.set $0 + loop $for-loop|1664 + local.get $0 local.get $8 i32.lt_s if local.get $7 - local.get $1 + local.get $0 call $~lib/typedarray/Uint64Array#__get i32.const 7616 local.get $8 i32.const 1 i32.sub - local.get $1 + local.get $0 i32.sub call $~lib/array/Array#__get i64.extend_i32_s i64.ne br_if $folding-inner15 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|1775 + local.set $0 + br $for-loop|1664 end end global.get $~lib/memory/__stack_pointer @@ -56229,7 +56184,7 @@ local.get $5 i32.store $0 offset=12 i32.const 0 - local.set $1 + local.set $0 local.get $5 i32.load $0 offset=4 local.set $4 @@ -56237,50 +56192,50 @@ i32.load $0 offset=8 i32.const 3 i32.shr_u - local.tee $0 + local.tee $1 i32.const 1 i32.gt_u if - local.get $0 + local.get $1 i32.const 1 i32.shr_u local.set $3 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $2 - loop $while-continue|014 - local.get $1 + loop $while-continue|036 + local.get $0 local.get $3 i32.lt_u if local.get $4 - local.get $1 + local.get $0 i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $1 i64.load $0 local.set $11 - local.get $0 + local.get $1 local.get $4 local.get $2 - local.get $1 + local.get $0 i32.sub i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $1 i64.load $0 i64.store $0 - local.get $0 + local.get $1 local.get $11 i64.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|014 + local.set $0 + br $while-continue|036 end end end @@ -56322,7 +56277,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -56344,35 +56299,35 @@ local.tee $5 i32.store $0 offset=8 i32.const 0 - local.set $1 - loop $for-loop|0780 - local.get $1 + local.set $0 + loop $for-loop|0668 + local.get $0 local.get $8 i32.lt_s if local.get $7 - local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get f32.convert_i32_s call $~lib/typedarray/Float32Array#__set local.get $5 - local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get f32.convert_i32_s call $~lib/typedarray/Float32Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0780 + local.set $0 + br $for-loop|0668 end end i32.const 0 - local.set $1 + local.set $0 local.get $7 i32.load $0 offset=4 local.set $4 @@ -56380,78 +56335,78 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $0 + local.tee $1 i32.const 1 i32.gt_u if - local.get $0 + local.get $1 i32.const 1 i32.shr_u local.set $3 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $2 - loop $while-continue|015 - local.get $1 + loop $while-continue|037 + local.get $0 local.get $3 i32.lt_u if local.get $4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $1 f32.load $0 local.set $6 - local.get $0 + local.get $1 local.get $4 local.get $2 - local.get $1 + local.get $0 i32.sub i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $1 f32.load $0 f32.store $0 - local.get $0 + local.get $1 local.get $6 f32.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|015 + local.set $0 + br $while-continue|037 end end end i32.const 0 - local.set $1 - loop $for-loop|1782 - local.get $1 + local.set $0 + loop $for-loop|1669 + local.get $0 local.get $8 i32.lt_s if local.get $7 - local.get $1 + local.get $0 call $~lib/typedarray/Float32Array#__get i32.const 7616 local.get $8 i32.const 1 i32.sub - local.get $1 + local.get $0 i32.sub call $~lib/array/Array#__get f32.convert_i32_s f32.ne br_if $folding-inner15 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|1782 + local.set $0 + br $for-loop|1669 end end global.get $~lib/memory/__stack_pointer @@ -56464,7 +56419,7 @@ local.get $5 i32.store $0 offset=12 i32.const 0 - local.set $1 + local.set $0 local.get $5 i32.load $0 offset=4 local.set $4 @@ -56472,50 +56427,50 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.tee $0 + local.tee $1 i32.const 1 i32.gt_u if - local.get $0 + local.get $1 i32.const 1 i32.shr_u local.set $3 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $2 - loop $while-continue|017 - local.get $1 + loop $while-continue|039 + local.get $0 local.get $3 i32.lt_u if local.get $4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $1 f32.load $0 local.set $6 - local.get $0 + local.get $1 local.get $4 local.get $2 - local.get $1 + local.get $0 i32.sub i32.const 2 i32.shl i32.add - local.tee $0 + local.tee $1 f32.load $0 f32.store $0 - local.get $0 + local.get $1 local.get $6 f32.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|017 + local.set $0 + br $while-continue|039 end end end @@ -56557,7 +56512,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -56579,35 +56534,35 @@ local.tee $5 i32.store $0 offset=8 i32.const 0 - local.set $1 - loop $for-loop|0787 - local.get $1 + local.set $0 + loop $for-loop|0673 + local.get $0 local.get $8 i32.lt_s if local.get $7 - local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get f64.convert_i32_s call $~lib/typedarray/Float64Array#__set local.get $5 - local.get $1 + local.get $0 i32.const 7616 - local.get $1 + local.get $0 call $~lib/array/Array#__get f64.convert_i32_s call $~lib/typedarray/Float64Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0787 + local.set $0 + br $for-loop|0673 end end i32.const 0 - local.set $1 + local.set $0 local.get $7 i32.load $0 offset=4 local.set $4 @@ -56615,78 +56570,78 @@ i32.load $0 offset=8 i32.const 3 i32.shr_u - local.tee $0 + local.tee $1 i32.const 1 i32.gt_u if - local.get $0 + local.get $1 i32.const 1 i32.shr_u local.set $3 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $2 - loop $while-continue|018 - local.get $1 + loop $while-continue|040 + local.get $0 local.get $3 i32.lt_u if local.get $4 - local.get $1 + local.get $0 i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $1 f64.load $0 local.set $10 - local.get $0 + local.get $1 local.get $4 local.get $2 - local.get $1 + local.get $0 i32.sub i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $1 f64.load $0 f64.store $0 - local.get $0 + local.get $1 local.get $10 f64.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|018 + local.set $0 + br $while-continue|040 end end end i32.const 0 - local.set $1 - loop $for-loop|1789 - local.get $1 + local.set $0 + loop $for-loop|1674 + local.get $0 local.get $8 i32.lt_s if local.get $7 - local.get $1 + local.get $0 call $~lib/typedarray/Float64Array#__get i32.const 7616 local.get $8 i32.const 1 i32.sub - local.get $1 + local.get $0 i32.sub call $~lib/array/Array#__get f64.convert_i32_s f64.ne br_if $folding-inner15 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|1789 + local.set $0 + br $for-loop|1674 end end global.get $~lib/memory/__stack_pointer @@ -56700,7 +56655,7 @@ local.get $5 i32.store $0 offset=12 i32.const 0 - local.set $1 + local.set $0 local.get $5 i32.load $0 offset=4 local.set $4 @@ -56708,50 +56663,50 @@ i32.load $0 offset=8 i32.const 3 i32.shr_u - local.tee $0 + local.tee $1 i32.const 1 i32.gt_u if - local.get $0 + local.get $1 i32.const 1 i32.shr_u local.set $3 - local.get $0 + local.get $1 i32.const 1 i32.sub local.set $2 - loop $while-continue|020 - local.get $1 + loop $while-continue|042 + local.get $0 local.get $3 i32.lt_u if local.get $4 - local.get $1 + local.get $0 i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $1 f64.load $0 local.set $10 - local.get $0 + local.get $1 local.get $4 local.get $2 - local.get $1 + local.get $0 i32.sub i32.const 3 i32.shl i32.add - local.tee $0 + local.tee $1 f64.load $0 f64.store $0 - local.get $0 + local.get $1 local.get $10 f64.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|020 + local.set $0 + br $while-continue|042 end end end @@ -56807,9 +56762,9 @@ f64.const nan:0x8000000000000 call $~lib/typedarray/Float64Array#__set i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 local.get $4 i32.load $0 offset=8 @@ -56817,21 +56772,18 @@ i32.shr_u local.tee $3 i32.eqz - local.get $3 - i32.eqz - i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 local.get $4 i32.load $0 offset=4 local.set $2 - loop $while-continue|021 - local.get $1 + loop $while-continue|043 + local.get $0 local.get $3 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 3 i32.shl i32.add @@ -56839,17 +56791,17 @@ f64.const nan:0x8000000000000 f64.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|021 + local.set $0 + br $while-continue|043 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -56862,7 +56814,7 @@ end block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) i32.const 0 - local.set $0 + local.set $1 i32.const 0 local.get $4 i32.load $0 offset=8 @@ -56870,22 +56822,19 @@ i32.shr_u local.tee $2 i32.eqz - local.tee $1 - local.get $1 - i32.or br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 drop local.get $4 i32.load $0 offset=4 - local.set $1 - loop $while-continue|022 - local.get $0 + local.set $0 + loop $while-continue|044 + local.get $1 local.get $2 i32.lt_s if i32.const 1 - local.get $1 local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -56895,11 +56844,11 @@ f64.ne br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|022 + local.set $1 + br $while-continue|044 end end i32.const 0 @@ -56923,9 +56872,9 @@ f32.const nan:0x400000 call $~lib/typedarray/Float32Array#__set i32.const 0 - local.set $1 - i32.const -1 local.set $0 + i32.const -1 + local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 local.get $4 i32.load $0 offset=8 @@ -56933,21 +56882,18 @@ i32.shr_u local.tee $3 i32.eqz - local.get $3 - i32.eqz - i32.or br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 local.get $4 i32.load $0 offset=4 local.set $2 - loop $while-continue|023 - local.get $1 + loop $while-continue|045 + local.get $0 local.get $3 i32.lt_s if local.get $2 - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 2 i32.shl i32.add @@ -56955,17 +56901,17 @@ f32.const nan:0x400000 f32.eq br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $1 - br $while-continue|023 + local.set $0 + br $while-continue|045 end end i32.const -1 - local.set $0 + local.set $1 end - local.get $0 + local.get $1 i32.const -1 i32.ne if @@ -56978,7 +56924,7 @@ end block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) i32.const 0 - local.set $0 + local.set $1 i32.const 0 local.get $4 i32.load $0 offset=8 @@ -56986,22 +56932,19 @@ i32.shr_u local.tee $2 i32.eqz - local.tee $1 - local.get $1 - i32.or br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 drop local.get $4 i32.load $0 offset=4 - local.set $1 - loop $while-continue|0798 - local.get $0 + local.set $0 + loop $while-continue|0682 + local.get $1 local.get $2 i32.lt_s if i32.const 1 - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -57011,11 +56954,11 @@ f32.ne br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|0798 + local.set $1 + br $while-continue|0682 end end i32.const 0 @@ -57036,7 +56979,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57093,7 +57036,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57130,7 +57073,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57206,7 +57149,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57282,7 +57225,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57339,7 +57282,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57376,7 +57319,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57433,7 +57376,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57470,7 +57413,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57527,7 +57470,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57564,7 +57507,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57621,7 +57564,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57658,7 +57601,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57715,7 +57658,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57752,7 +57695,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57809,7 +57752,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57846,7 +57789,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57903,7 +57846,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -57940,7 +57883,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -57997,7 +57940,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58073,8 +58016,6 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58082,7 +58023,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58098,7 +58039,9 @@ call $~lib/typedarray/Int8Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|036 + i32.const 0 + local.set $1 + loop $for-loop|0704 local.get $1 local.get $5 i32.lt_s @@ -58114,7 +58057,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|036 + br $for-loop|0704 end end global.get $~lib/memory/__stack_pointer @@ -58138,18 +58081,18 @@ call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.set $2 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + local.set $2 + 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 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58189,7 +58132,7 @@ i32.store $0 offset=16 i32.const 0 local.set $1 - loop $for-loop|138 + loop $for-loop|1709 local.get $1 local.get $5 i32.lt_s @@ -58201,12 +58144,12 @@ local.get $1 call $~lib/typedarray/Int8Array#__get i32.ne - br_if $folding-inner29 + br_if $folding-inner38 local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|138 + br $for-loop|1709 end end global.get $~lib/memory/__stack_pointer @@ -58220,7 +58163,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58237,25 +58180,25 @@ local.tee $2 i32.store $0 offset=4 i32.const 0 - local.set $0 - loop $for-loop|0821 - local.get $0 + local.set $1 + loop $for-loop|0713 + local.get $1 local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 10928 - local.get $0 + local.get $1 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8Array#__set - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0821 + local.set $1 + br $for-loop|0713 end end global.get $~lib/memory/__stack_pointer @@ -58285,36 +58228,34 @@ local.get $0 i32.const 0 call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $1 + local.tee $0 i32.store $0 offset=16 i32.const 0 - local.set $0 - loop $for-loop|1827 - local.get $0 + local.set $1 + loop $for-loop|1722 + local.get $1 local.get $3 i32.lt_s if local.get $2 - local.get $0 - call $~lib/typedarray/Uint8Array#__get local.get $1 + call $~lib/typedarray/Uint8Array#__get local.get $0 + local.get $1 call $~lib/typedarray/Uint8Array#__get i32.ne - br_if $folding-inner29 - local.get $0 + br_if $folding-inner38 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|1827 + local.set $1 + br $for-loop|1722 end end global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58322,7 +58263,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58338,7 +58279,9 @@ call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|040 + i32.const 0 + local.set $1 + loop $for-loop|0726 local.get $1 local.get $5 i32.lt_s @@ -58355,7 +58298,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|040 + br $for-loop|0726 end end global.get $~lib/memory/__stack_pointer @@ -58379,18 +58322,18 @@ call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.set $2 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + local.set $2 + 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 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58430,7 +58373,7 @@ i32.store $0 offset=16 i32.const 0 local.set $1 - loop $for-loop|142 + loop $for-loop|1735 local.get $1 local.get $5 i32.lt_s @@ -58442,20 +58385,18 @@ local.get $1 call $~lib/typedarray/Uint8ClampedArray#__get i32.ne - br_if $folding-inner29 + br_if $folding-inner38 local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|142 + br $for-loop|1735 end end global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58463,7 +58404,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58479,7 +58420,9 @@ call $~lib/typedarray/Int16Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|045 + i32.const 0 + local.set $1 + loop $for-loop|0739 local.get $1 local.get $5 i32.lt_s @@ -58495,7 +58438,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|045 + br $for-loop|0739 end end global.get $~lib/memory/__stack_pointer @@ -58519,18 +58462,18 @@ call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.set $2 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + local.set $2 + 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 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -58541,7 +58484,7 @@ local.tee $1 i32.const 1 i32.and - br_if $folding-inner30 + br_if $folding-inner24 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 7 @@ -58572,7 +58515,7 @@ i32.store $0 offset=16 i32.const 0 local.set $1 - loop $for-loop|147 + loop $for-loop|1748 local.get $1 local.get $5 i32.lt_s @@ -58584,20 +58527,18 @@ local.get $1 call $~lib/typedarray/Int16Array#__get i32.ne - br_if $folding-inner29 + br_if $folding-inner38 local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|147 + br $for-loop|1748 end end global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58605,7 +58546,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58621,7 +58562,9 @@ call $~lib/typedarray/Uint16Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|050 + i32.const 0 + local.set $1 + loop $for-loop|0752 local.get $1 local.get $5 i32.lt_s @@ -58638,7 +58581,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|050 + br $for-loop|0752 end end global.get $~lib/memory/__stack_pointer @@ -58662,18 +58605,18 @@ call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.set $2 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + local.set $2 + 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 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -58684,7 +58627,7 @@ local.tee $1 i32.const 1 i32.and - br_if $folding-inner30 + br_if $folding-inner24 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 8 @@ -58715,7 +58658,7 @@ i32.store $0 offset=16 i32.const 0 local.set $1 - loop $for-loop|152 + loop $for-loop|1761 local.get $1 local.get $5 i32.lt_s @@ -58727,20 +58670,18 @@ local.get $1 call $~lib/typedarray/Uint16Array#__get i32.ne - br_if $folding-inner29 + br_if $folding-inner38 local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|152 + br $for-loop|1761 end end global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58748,7 +58689,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58764,7 +58705,9 @@ call $~lib/typedarray/Int32Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|054 + i32.const 0 + local.set $1 + loop $for-loop|0765 local.get $1 local.get $5 i32.lt_s @@ -58779,7 +58722,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|054 + br $for-loop|0765 end end global.get $~lib/memory/__stack_pointer @@ -58803,18 +58746,18 @@ call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.set $2 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + local.set $2 + 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 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -58825,7 +58768,7 @@ local.tee $1 i32.const 3 i32.and - br_if $folding-inner30 + br_if $folding-inner24 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 9 @@ -58856,7 +58799,7 @@ i32.store $0 offset=16 i32.const 0 local.set $1 - loop $for-loop|156 + loop $for-loop|1774 local.get $1 local.get $5 i32.lt_s @@ -58868,12 +58811,12 @@ local.get $1 call $~lib/typedarray/Int32Array#__get i32.ne - br_if $folding-inner29 + br_if $folding-inner38 local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|156 + br $for-loop|1774 end end global.get $~lib/memory/__stack_pointer @@ -58889,7 +58832,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -58905,7 +58848,7 @@ call $~lib/typedarray/Uint32Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|058 + loop $for-loop|010 local.get $1 local.get $5 i32.lt_s @@ -58920,7 +58863,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|058 + br $for-loop|010 end end global.get $~lib/memory/__stack_pointer @@ -58944,18 +58887,18 @@ call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.set $2 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + local.set $2 + 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 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -58966,7 +58909,7 @@ local.tee $1 i32.const 3 i32.and - br_if $folding-inner30 + br_if $folding-inner24 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 10 @@ -58997,7 +58940,7 @@ i32.store $0 offset=16 i32.const 0 local.set $1 - loop $for-loop|160 + loop $for-loop|111 local.get $1 local.get $5 i32.lt_s @@ -59009,12 +58952,12 @@ local.get $1 call $~lib/typedarray/Uint32Array#__get i32.ne - br_if $folding-inner29 + br_if $folding-inner38 local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|160 + br $for-loop|111 end end global.get $~lib/memory/__stack_pointer @@ -59030,7 +58973,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59046,7 +58989,7 @@ call $~lib/typedarray/Int64Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|062 + loop $for-loop|00 local.get $1 local.get $5 i32.lt_s @@ -59062,7 +59005,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|062 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer @@ -59086,18 +59029,18 @@ call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.set $2 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + local.set $2 + 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 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -59108,7 +59051,7 @@ local.tee $1 i32.const 7 i32.and - br_if $folding-inner30 + br_if $folding-inner24 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 11 @@ -59139,7 +59082,7 @@ i32.store $0 offset=16 i32.const 0 local.set $1 - loop $for-loop|164 + loop $for-loop|11 local.get $1 local.get $5 i32.lt_s @@ -59151,12 +59094,12 @@ local.get $1 call $~lib/typedarray/Int64Array#__get i64.ne - br_if $folding-inner29 + br_if $folding-inner38 local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|164 + br $for-loop|11 end end global.get $~lib/memory/__stack_pointer @@ -59172,7 +59115,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59188,7 +59131,7 @@ call $~lib/typedarray/Uint64Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|067 + loop $for-loop|02 local.get $1 local.get $5 i32.lt_s @@ -59204,7 +59147,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|067 + br $for-loop|02 end end global.get $~lib/memory/__stack_pointer @@ -59228,18 +59171,18 @@ call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.set $2 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + local.set $2 + 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 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -59250,7 +59193,7 @@ local.tee $1 i32.const 7 i32.and - br_if $folding-inner30 + br_if $folding-inner24 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 12 @@ -59281,7 +59224,7 @@ i32.store $0 offset=16 i32.const 0 local.set $1 - loop $for-loop|169 + loop $for-loop|13 local.get $1 local.get $5 i32.lt_s @@ -59293,12 +59236,12 @@ local.get $1 call $~lib/typedarray/Uint64Array#__get i64.ne - br_if $folding-inner29 + br_if $folding-inner38 local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|169 + br $for-loop|13 end end global.get $~lib/memory/__stack_pointer @@ -59314,7 +59257,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59330,7 +59273,7 @@ call $~lib/typedarray/Float32Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|072 + loop $for-loop|04 local.get $1 local.get $5 i32.lt_s @@ -59346,7 +59289,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|072 + br $for-loop|04 end end global.get $~lib/memory/__stack_pointer @@ -59370,18 +59313,18 @@ call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.set $2 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + local.set $2 + 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 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -59392,7 +59335,7 @@ local.tee $1 i32.const 3 i32.and - br_if $folding-inner30 + br_if $folding-inner24 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 13 @@ -59423,7 +59366,7 @@ i32.store $0 offset=16 i32.const 0 local.set $1 - loop $for-loop|174 + loop $for-loop|15 local.get $1 local.get $5 i32.lt_s @@ -59435,12 +59378,12 @@ local.get $1 call $~lib/typedarray/Float32Array#__get f32.ne - br_if $folding-inner29 + br_if $folding-inner38 local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|174 + br $for-loop|15 end end global.get $~lib/memory/__stack_pointer @@ -59456,7 +59399,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59472,7 +59415,7 @@ call $~lib/typedarray/Float64Array#constructor local.tee $4 i32.store $0 offset=4 - loop $for-loop|077 + loop $for-loop|06 local.get $1 local.get $5 i32.lt_s @@ -59488,7 +59431,7 @@ i32.const 1 i32.add local.set $1 - br $for-loop|077 + br $for-loop|06 end end global.get $~lib/memory/__stack_pointer @@ -59512,18 +59455,18 @@ call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.set $2 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + local.set $2 + 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 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -59534,7 +59477,7 @@ local.tee $1 i32.const 7 i32.and - br_if $folding-inner30 + br_if $folding-inner24 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 14 @@ -59565,7 +59508,7 @@ i32.store $0 offset=16 i32.const 0 local.set $1 - loop $for-loop|179 + loop $for-loop|17 local.get $1 local.get $5 i32.lt_s @@ -59577,12 +59520,12 @@ local.get $1 call $~lib/typedarray/Float64Array#__get f64.ne - br_if $folding-inner29 + br_if $folding-inner38 local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|179 + br $for-loop|17 end end global.get $~lib/memory/__stack_pointer @@ -59605,7 +59548,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -59675,7 +59618,7 @@ i32.const 11008 i32.store $0 offset=16 i32.const 0 - local.set $0 + local.set $1 i32.const 11020 i32.load $0 local.tee $4 @@ -59684,35 +59627,35 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $5 i32.load $0 offset=4 local.set $3 i32.const 11012 i32.load $0 local.set $2 - loop $for-loop|0835 - local.get $0 + loop $for-loop|0781 + local.get $1 local.get $4 i32.lt_s if - local.get $0 + local.get $1 i32.const 2 i32.shl - local.tee $1 + local.tee $0 local.get $3 i32.add - local.get $1 + local.get $0 local.get $2 i32.add i32.load $0 f32.convert_i32_s f32.store $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0835 + local.set $1 + br $for-loop|0781 end end i32.const 10 @@ -59758,7 +59701,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $5 i32.load $0 offset=4 i32.const 24 @@ -59766,32 +59709,32 @@ local.set $2 local.get $9 i32.load $0 offset=4 - local.set $0 - i32.const 0 local.set $1 - loop $for-loop|0843 - local.get $1 + i32.const 0 + local.set $0 + loop $for-loop|0788 + local.get $0 local.get $3 i32.lt_s if local.get $2 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add - local.get $0 local.get $1 + local.get $0 i32.const 3 i32.shl i32.add i64.load $0 f32.convert_i64_s f32.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0843 + local.set $0 + br $for-loop|0788 end end i32.const 10 @@ -59814,22 +59757,22 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $5 i32.load $0 offset=4 local.set $2 local.get $8 i32.load $0 offset=4 - local.set $1 - i32.const 0 local.set $0 - loop $for-loop|0851 - local.get $0 + i32.const 0 + local.set $1 + loop $for-loop|0795 + local.get $1 local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -59839,11 +59782,11 @@ i32.load8_u $0 f32.convert_i32_u f32.store $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0851 + local.set $1 + br $for-loop|0795 end end local.get $7 @@ -59858,7 +59801,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $5 i32.load $0 offset=4 i32.const 16 @@ -59866,32 +59809,32 @@ local.set $2 local.get $7 i32.load $0 offset=4 - local.set $1 - i32.const 0 local.set $0 - loop $for-loop|0859 - local.get $0 + i32.const 0 + local.set $1 + loop $for-loop|0802 + local.get $1 local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s $0 f32.convert_i32_s f32.store $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0859 + local.set $1 + br $for-loop|0802 end end global.get $~lib/memory/__stack_pointer @@ -59907,7 +59850,7 @@ i32.const 2 i32.shr_u i32.gt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $5 i32.load $0 offset=4 i32.const 28 @@ -59915,16 +59858,16 @@ local.set $2 i32.const 11268 i32.load $0 - local.set $1 - i32.const 0 local.set $0 - loop $for-loop|0867 - local.get $0 + i32.const 0 + local.set $1 + loop $for-loop|0809 + local.get $1 local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -59934,11 +59877,11 @@ i32.load8_s $0 f32.convert_i32_s f32.store $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0867 + local.set $1 + br $for-loop|0809 end end i32.const 10 @@ -59964,7 +59907,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -60034,7 +59977,7 @@ i32.const 11008 i32.store $0 offset=16 i32.const 0 - local.set $0 + local.set $1 i32.const 11020 i32.load $0 local.tee $3 @@ -60043,36 +59986,36 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $5 i32.load $0 offset=4 local.set $2 i32.const 11012 i32.load $0 - local.set $1 - loop $for-loop|0875 - local.get $0 + local.set $0 + loop $for-loop|0816 + local.get $1 local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 f64.convert_i32_s f64.store $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0875 + local.set $1 + br $for-loop|0816 end end i32.const 10 @@ -60100,7 +60043,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $5 i32.load $0 offset=4 i32.const 24 @@ -60108,32 +60051,32 @@ local.set $2 i32.const 11092 i32.load $0 - local.set $1 - i32.const 0 local.set $0 - loop $for-loop|0883 - local.get $0 + i32.const 0 + local.set $1 + loop $for-loop|0823 + local.get $1 local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add f32.load $0 f64.promote_f32 f64.store $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0883 + local.set $1 + br $for-loop|0823 end end i32.const 10 @@ -60160,7 +60103,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $5 i32.load $0 offset=4 i32.const 48 @@ -60170,29 +60113,29 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $1 - loop $for-loop|0890 - local.get $1 + local.set $0 + loop $for-loop|0829 + local.get $0 local.get $4 i32.lt_s if - local.get $1 + local.get $0 i32.const 3 i32.shl - local.tee $0 + local.tee $1 local.get $3 i32.add - local.get $0 + local.get $1 local.get $2 i32.add i64.load $0 f64.convert_i64_s f64.store $0 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0890 + local.set $0 + br $for-loop|0829 end end i32.const 10 @@ -60215,22 +60158,22 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $5 i32.load $0 offset=4 local.set $2 local.get $8 i32.load $0 offset=4 - local.set $1 - i32.const 0 local.set $0 - loop $for-loop|0898 - local.get $0 + i32.const 0 + local.set $1 + loop $for-loop|0836 + local.get $1 local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -60240,11 +60183,11 @@ i32.load8_u $0 f64.convert_i32_u f64.store $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0898 + local.set $1 + br $for-loop|0836 end end local.get $7 @@ -60259,7 +60202,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $5 i32.load $0 offset=4 i32.const 32 @@ -60267,32 +60210,32 @@ local.set $2 local.get $7 i32.load $0 offset=4 - local.set $1 - i32.const 0 local.set $0 - loop $for-loop|0906 - local.get $0 + i32.const 0 + local.set $1 + loop $for-loop|0843 + local.get $1 local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - local.get $1 local.get $0 + local.get $1 i32.const 1 i32.shl i32.add i32.load16_s $0 f64.convert_i32_s f64.store $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0906 + local.set $1 + br $for-loop|0843 end end global.get $~lib/memory/__stack_pointer @@ -60308,7 +60251,7 @@ i32.const 3 i32.shr_u i32.gt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $5 i32.load $0 offset=4 i32.const 56 @@ -60316,16 +60259,16 @@ local.set $2 i32.const 11268 i32.load $0 - local.set $1 - i32.const 0 local.set $0 - loop $for-loop|0914 - local.get $0 + i32.const 0 + local.set $1 + loop $for-loop|0850 + local.get $1 local.get $3 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add @@ -60335,11 +60278,11 @@ i32.load8_s $0 f64.convert_i32_s f64.store $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0914 + local.set $1 + br $for-loop|0850 end end i32.const 10 @@ -60424,7 +60367,7 @@ i32.const 1 i32.add i32.lt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $7 i32.load $0 offset=4 i32.const 1 @@ -60432,19 +60375,19 @@ local.set $2 local.get $0 i32.load $0 offset=4 - local.set $1 - i32.const 0 local.set $0 - loop $for-loop|0922 - local.get $0 + i32.const 0 + local.set $1 + loop $for-loop|0857 + local.get $1 local.get $3 i32.lt_s if - local.get $0 + local.get $1 local.get $2 i32.add - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add @@ -60463,11 +60406,11 @@ f32.eq select i32.store8 $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0922 + local.set $1 + br $for-loop|0857 end end local.get $7 @@ -60484,7 +60427,7 @@ i32.const 8 i32.add i32.lt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $7 i32.load $0 offset=4 i32.const 8 @@ -60494,40 +60437,40 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 - loop $for-loop|0930 - local.get $0 + local.set $1 + loop $for-loop|0864 + local.get $1 local.get $4 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $1 + local.tee $0 i32.const 255 - local.get $1 + local.get $0 i32.sub i32.const 31 i32.shr_s i32.or - local.get $1 + local.get $0 i32.const 31 i32.shr_s i32.const -1 i32.xor i32.and i32.store8 $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0930 + local.set $1 + br $for-loop|0864 end end i32.const 10 @@ -60592,7 +60535,7 @@ local.get $7 i32.load $0 offset=8 i32.gt_s - br_if $folding-inner24 + br_if $folding-inner25 local.get $7 i32.load $0 offset=4 local.set $3 @@ -60600,33 +60543,33 @@ i32.load $0 offset=4 local.set $2 i32.const 0 - local.set $0 - loop $for-loop|0938 - local.get $0 + local.set $1 + loop $for-loop|0871 + local.get $1 local.get $4 i32.lt_s if - local.get $0 + local.get $1 local.get $3 i32.add i32.const 255 local.get $2 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 255 i32.gt_u select i32.store8 $0 - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0938 + local.set $1 + br $for-loop|0871 end end local.get $7 @@ -60646,7 +60589,7 @@ local.get $0 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -60654,15 +60597,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $2 @@ -60680,7 +60623,7 @@ i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -60690,20 +60633,20 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 block $1of1 block $0of1 - block $outOfRange10 + block $outOfRange1 global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange10 + br_table $0of1 $1of1 $outOfRange1 end unreachable end i32.const 15344 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 15344 i32.store $0 @@ -60712,13 +60655,13 @@ i32.load $0 offset=4 local.get $2 i32.load $0 offset=8 - local.get $1 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=4 local.get $2 @@ -60726,19 +60669,19 @@ call $~lib/typedarray/Int8Array#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner32 local.get $2 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner33 local.get $2 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner34 global.get $~lib/memory/__stack_pointer i32.const 15376 i32.store $0 offset=8 @@ -60753,25 +60696,25 @@ call $~lib/typedarray/Int8Array#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner35 local.get $2 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner36 local.get $2 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner37 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -60779,15 +60722,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $2 @@ -60805,7 +60748,7 @@ i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -60815,20 +60758,20 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of182 - block $0of183 - block $outOfRange84 + block $1of14 + block $0of15 + block $outOfRange6 global.get $~argumentsLength - br_table $0of183 $1of182 $outOfRange84 + br_table $0of15 $1of14 $outOfRange6 end unreachable end i32.const 15408 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 15408 i32.store $0 @@ -60837,13 +60780,13 @@ i32.load $0 offset=4 local.get $2 i32.load $0 offset=8 - local.get $1 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=4 local.get $2 @@ -60851,19 +60794,19 @@ call $~lib/typedarray/Uint8Array#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner32 local.get $2 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner33 local.get $2 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner34 global.get $~lib/memory/__stack_pointer i32.const 15440 i32.store $0 offset=8 @@ -60878,25 +60821,25 @@ call $~lib/typedarray/Uint8Array#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner35 local.get $2 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner36 local.get $2 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner37 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -60904,15 +60847,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $2 @@ -60930,7 +60873,7 @@ i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -60940,20 +60883,20 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of186 - block $0of187 - block $outOfRange88 + block $1of18 + block $0of19 + block $outOfRange10 global.get $~argumentsLength - br_table $0of187 $1of186 $outOfRange88 + br_table $0of19 $1of18 $outOfRange10 end unreachable end i32.const 15472 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 15472 i32.store $0 @@ -60962,13 +60905,13 @@ i32.load $0 offset=4 local.get $2 i32.load $0 offset=8 - local.get $1 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=4 local.get $2 @@ -60976,19 +60919,19 @@ call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner32 local.get $2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner33 local.get $2 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner34 global.get $~lib/memory/__stack_pointer i32.const 15504 i32.store $0 offset=8 @@ -61003,25 +60946,25 @@ call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner35 local.get $2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner36 local.get $2 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner37 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -61029,15 +60972,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $2 @@ -61055,7 +60998,7 @@ i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -61065,20 +61008,20 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of192 - block $0of193 - block $outOfRange94 + block $1of114 + block $0of115 + block $outOfRange16 global.get $~argumentsLength - br_table $0of193 $1of192 $outOfRange94 + br_table $0of115 $1of114 $outOfRange16 end unreachable end i32.const 15536 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 15536 i32.store $0 @@ -61089,13 +61032,13 @@ i32.load $0 offset=8 i32.const 1 i32.shr_u - local.get $1 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=4 local.get $2 @@ -61103,19 +61046,19 @@ call $~lib/typedarray/Int16Array#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner32 local.get $2 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner33 local.get $2 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner34 global.get $~lib/memory/__stack_pointer i32.const 15568 i32.store $0 offset=8 @@ -61132,25 +61075,25 @@ call $~lib/typedarray/Int16Array#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner35 local.get $2 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner36 local.get $2 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner37 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -61158,15 +61101,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $2 @@ -61184,7 +61127,7 @@ i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -61194,20 +61137,20 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of196 - block $0of197 - block $outOfRange98 + block $1of118 + block $0of119 + block $outOfRange20 global.get $~argumentsLength - br_table $0of197 $1of196 $outOfRange98 + br_table $0of119 $1of118 $outOfRange20 end unreachable end i32.const 15600 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 15600 i32.store $0 @@ -61218,13 +61161,13 @@ i32.load $0 offset=8 i32.const 1 i32.shr_u - local.get $1 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=4 local.get $2 @@ -61232,19 +61175,19 @@ call $~lib/typedarray/Uint16Array#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner32 local.get $2 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner33 local.get $2 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner34 global.get $~lib/memory/__stack_pointer i32.const 15632 i32.store $0 offset=8 @@ -61261,25 +61204,25 @@ call $~lib/typedarray/Uint16Array#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner35 local.get $2 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner36 local.get $2 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner37 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -61287,15 +61230,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $2 @@ -61313,7 +61256,7 @@ i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -61323,20 +61266,20 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1100 - block $0of1101 - block $outOfRange102 + block $1of122 + block $0of123 + block $outOfRange24 global.get $~argumentsLength - br_table $0of1101 $1of1100 $outOfRange102 + br_table $0of123 $1of122 $outOfRange24 end unreachable end i32.const 15664 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 15664 i32.store $0 @@ -61347,13 +61290,13 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.get $1 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=4 local.get $2 @@ -61361,19 +61304,19 @@ call $~lib/typedarray/Int32Array#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner32 local.get $2 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner33 local.get $2 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner34 global.get $~lib/memory/__stack_pointer i32.const 15696 i32.store $0 offset=8 @@ -61390,25 +61333,25 @@ call $~lib/typedarray/Int32Array#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner35 local.get $2 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner36 local.get $2 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner37 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -61416,15 +61359,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $2 @@ -61442,7 +61385,7 @@ i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -61452,20 +61395,20 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1104 - block $0of1105 - block $outOfRange106 + block $1of126 + block $0of127 + block $outOfRange28 global.get $~argumentsLength - br_table $0of1105 $1of1104 $outOfRange106 + br_table $0of127 $1of126 $outOfRange28 end unreachable end i32.const 15728 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 15728 i32.store $0 @@ -61476,13 +61419,13 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.get $1 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=4 local.get $2 @@ -61490,19 +61433,19 @@ call $~lib/typedarray/Uint32Array#__get i32.const 1 i32.ne - br_if $folding-inner31 + br_if $folding-inner32 local.get $2 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 2 i32.ne - br_if $folding-inner32 + br_if $folding-inner33 local.get $2 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 3 i32.ne - br_if $folding-inner33 + br_if $folding-inner34 global.get $~lib/memory/__stack_pointer i32.const 15760 i32.store $0 offset=8 @@ -61519,25 +61462,25 @@ call $~lib/typedarray/Uint32Array#__get i32.const 3 i32.ne - br_if $folding-inner34 + br_if $folding-inner35 local.get $2 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 2 i32.ne - br_if $folding-inner35 + br_if $folding-inner36 local.get $2 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 1 i32.ne - br_if $folding-inner36 + br_if $folding-inner37 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -61545,15 +61488,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $2 @@ -61571,7 +61514,7 @@ i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -61581,20 +61524,20 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1108 - block $0of1109 - block $outOfRange110 + block $1of130 + block $0of131 + block $outOfRange32 global.get $~argumentsLength - br_table $0of1109 $1of1108 $outOfRange110 + br_table $0of131 $1of130 $outOfRange32 end unreachable end i32.const 15792 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 15792 i32.store $0 @@ -61605,13 +61548,13 @@ i32.load $0 offset=8 i32.const 3 i32.shr_u - local.get $1 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=4 local.get $2 @@ -61619,19 +61562,19 @@ call $~lib/typedarray/Int64Array#__get i64.const 1 i64.ne - br_if $folding-inner31 + br_if $folding-inner32 local.get $2 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 2 i64.ne - br_if $folding-inner32 + br_if $folding-inner33 local.get $2 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 3 i64.ne - br_if $folding-inner33 + br_if $folding-inner34 global.get $~lib/memory/__stack_pointer i32.const 15824 i32.store $0 offset=8 @@ -61648,25 +61591,25 @@ call $~lib/typedarray/Int64Array#__get i64.const 3 i64.ne - br_if $folding-inner34 + br_if $folding-inner35 local.get $2 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 2 i64.ne - br_if $folding-inner35 + br_if $folding-inner36 local.get $2 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 1 i64.ne - br_if $folding-inner36 + br_if $folding-inner37 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -61674,15 +61617,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $2 @@ -61700,7 +61643,7 @@ i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -61710,20 +61653,20 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1112 - block $0of1113 - block $outOfRange114 + block $1of134 + block $0of135 + block $outOfRange36 global.get $~argumentsLength - br_table $0of1113 $1of1112 $outOfRange114 + br_table $0of135 $1of134 $outOfRange36 end unreachable end i32.const 15856 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 15856 i32.store $0 @@ -61734,13 +61677,13 @@ i32.load $0 offset=8 i32.const 3 i32.shr_u - local.get $1 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=4 local.get $2 @@ -61748,19 +61691,19 @@ call $~lib/typedarray/Uint64Array#__get i64.const 1 i64.ne - br_if $folding-inner31 + br_if $folding-inner32 local.get $2 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 2 i64.ne - br_if $folding-inner32 + br_if $folding-inner33 local.get $2 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 3 i64.ne - br_if $folding-inner33 + br_if $folding-inner34 global.get $~lib/memory/__stack_pointer i32.const 15888 i32.store $0 offset=8 @@ -61777,25 +61720,25 @@ call $~lib/typedarray/Uint64Array#__get i64.const 3 i64.ne - br_if $folding-inner34 + br_if $folding-inner35 local.get $2 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 2 i64.ne - br_if $folding-inner35 + br_if $folding-inner36 local.get $2 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 1 i64.ne - br_if $folding-inner36 + br_if $folding-inner37 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -61803,15 +61746,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 - local.get $0 + local.get $1 i32.const 0 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $2 @@ -61829,7 +61772,7 @@ f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -61839,20 +61782,20 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1116 - block $0of1117 - block $outOfRange118 + block $1of138 + block $0of139 + block $outOfRange40 global.get $~argumentsLength - br_table $0of1117 $1of1116 $outOfRange118 + br_table $0of139 $1of138 $outOfRange40 end unreachable end i32.const 15920 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 15920 i32.store $0 @@ -61863,13 +61806,13 @@ i32.load $0 offset=8 i32.const 2 i32.shr_u - local.get $1 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $2 i32.store $0 offset=4 local.get $2 @@ -61877,19 +61820,19 @@ call $~lib/typedarray/Float32Array#__get f32.const 1 f32.ne - br_if $folding-inner31 + br_if $folding-inner32 local.get $2 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 2 f32.ne - br_if $folding-inner32 + br_if $folding-inner33 local.get $2 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 3 f32.ne - br_if $folding-inner33 + br_if $folding-inner34 global.get $~lib/memory/__stack_pointer i32.const 15952 i32.store $0 offset=8 @@ -61906,19 +61849,19 @@ call $~lib/typedarray/Float32Array#__get f32.const 3 f32.ne - br_if $folding-inner34 + br_if $folding-inner35 local.get $2 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 2 f32.ne - br_if $folding-inner35 + br_if $folding-inner36 local.get $2 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 1 f32.ne - br_if $folding-inner36 + br_if $folding-inner37 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61930,7 +61873,7 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner28 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -61967,19 +61910,19 @@ call $~lib/typedarray/Float64Array#__get f64.const 1 f64.ne - br_if $folding-inner31 + br_if $folding-inner32 local.get $0 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 2 f64.ne - br_if $folding-inner32 + br_if $folding-inner33 local.get $0 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 3 f64.ne - br_if $folding-inner33 + br_if $folding-inner34 global.get $~lib/memory/__stack_pointer i32.const 15984 i32.store $0 offset=8 @@ -61996,19 +61939,19 @@ call $~lib/typedarray/Float64Array#__get f64.const 3 f64.ne - br_if $folding-inner34 + br_if $folding-inner35 local.get $0 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 2 f64.ne - br_if $folding-inner35 + br_if $folding-inner36 local.get $0 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 1 f64.ne - br_if $folding-inner36 + br_if $folding-inner37 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -62019,12 +61962,12 @@ i32.const 0 i32.gt_s if - loop $while-continue|0941 + loop $while-continue|0873 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|0941 + br $while-continue|0873 end end end @@ -62243,66 +62186,66 @@ call $~lib/builtins/abort unreachable end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 730 - i32.const 5 + i32.const 886 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1056 - i32.const 1632 - i32.const 1865 - i32.const 9 + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 885 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 886 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 887 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1568 - i32.const 889 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1568 - i32.const 890 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 891 - i32.const 3 + i32.const 730 + i32.const 5 call $~lib/builtins/abort unreachable ) @@ -62830,7 +62773,6 @@ (func $~lib/typedarray/Int32Array#subarray (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -62847,7 +62789,6 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.store $0 local.get $0 @@ -62855,26 +62796,6 @@ i32.const 2 i32.shr_u local.set $3 - local.get $4 - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 - local.get $5 - local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $5 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $5 - local.get $0 - i32.load $0 offset=4 local.get $1 i32.const 0 i32.lt_s @@ -62882,9 +62803,9 @@ local.get $1 local.get $3 i32.add - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select @@ -62896,12 +62817,7 @@ i32.lt_s select end - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $5 + local.set $4 local.get $2 i32.const 0 i32.lt_s @@ -62924,12 +62840,40 @@ select end local.tee $1 - local.get $0 - local.get $0 + local.get $4 local.get $1 - i32.lt_s + local.get $4 + i32.gt_s select + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $3 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $3 local.get $0 + i32.load $0 offset=4 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $3 + local.get $2 + local.get $4 i32.sub i32.const 2 i32.shl @@ -62938,12 +62882,11 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $3 ) (func $~lib/typedarray/Float64Array#subarray (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -62960,7 +62903,6 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.store $0 local.get $0 @@ -62968,26 +62910,6 @@ i32.const 3 i32.shr_u local.set $3 - local.get $4 - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 - local.get $5 - local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $5 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $5 - local.get $0 - i32.load $0 offset=4 local.get $1 i32.const 0 i32.lt_s @@ -62995,9 +62917,9 @@ local.get $1 local.get $3 i32.add - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select @@ -63009,12 +62931,7 @@ i32.lt_s select end - local.tee $0 - i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $5 + local.set $4 local.get $2 i32.const 0 i32.lt_s @@ -63037,12 +62954,40 @@ select end local.tee $1 - local.get $0 - local.get $0 + local.get $4 local.get $1 - i32.lt_s + local.get $4 + i32.gt_s select + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $3 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $3 local.get $0 + i32.load $0 offset=4 + local.get $4 + i32.const 3 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $3 + local.get $2 + local.get $4 i32.sub i32.const 3 i32.shl @@ -63051,7 +62996,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $3 ) (func $~lib/typedarray/Float64Array#sort@varargs (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) @@ -63170,7 +63115,6 @@ (func $~lib/typedarray/Int8Array#subarray (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -63187,32 +63131,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.store $0 local.get $0 i32.load $0 offset=8 local.set $3 - local.get $4 - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 - local.get $5 - local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $5 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $5 - local.get $0 - i32.load $0 offset=4 local.get $1 i32.const 0 i32.lt_s @@ -63220,9 +63143,9 @@ local.get $1 local.get $3 i32.add - local.tee $0 + local.tee $1 i32.const 0 - local.get $0 + local.get $1 i32.const 0 i32.gt_s select @@ -63234,10 +63157,7 @@ i32.lt_s select end - local.tee $0 - i32.add - i32.store $0 offset=4 - local.get $5 + local.set $4 local.get $2 i32.const 0 i32.lt_s @@ -63260,19 +63180,45 @@ select end local.tee $1 - local.get $0 - local.get $0 + local.get $4 local.get $1 - i32.lt_s + local.get $4 + i32.gt_s select + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $3 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $3 + local.get $4 local.get $0 + i32.load $0 offset=4 + i32.add + i32.store $0 offset=4 + local.get $3 + local.get $2 + local.get $4 i32.sub i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $3 ) (func $~lib/typedarray/Int32Array#slice (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -63393,48 +63339,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store $0 + i32.const 4 local.get $0 i32.load $0 offset=8 - local.set $2 - local.get $3 - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - local.get $0 - i32.load $0 local.tee $3 - i32.store $0 local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_s select - local.tee $0 - i32.add - i32.store $0 offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -63444,19 +63365,45 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end local.tee $1 + local.get $2 + local.get $1 + local.get $2 + i32.gt_s + select + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 + local.get $4 local.get $0 - local.get $0 + i32.load $0 + local.tee $1 + i32.store $0 local.get $1 - i32.lt_s - select + if + local.get $4 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $4 + local.get $2 local.get $0 + i32.load $0 offset=4 + i32.add + i32.store $0 offset=4 + local.get $4 + local.get $3 + local.get $2 i32.sub i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer @@ -63485,48 +63432,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store $0 + i32.const 4 local.get $0 i32.load $0 offset=8 - local.set $2 - local.get $3 - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - local.get $0 - i32.load $0 local.tee $3 - i32.store $0 local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_s select - local.tee $0 - i32.add - i32.store $0 offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -63536,19 +63458,45 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end local.tee $1 - local.get $0 - local.get $0 + local.get $2 local.get $1 - i32.lt_s + local.get $2 + i32.gt_s select + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $4 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $4 + local.get $2 local.get $0 + i32.load $0 offset=4 + i32.add + i32.store $0 offset=4 + local.get $4 + local.get $3 + local.get $2 i32.sub i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer @@ -63577,52 +63525,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store $0 + i32.const 4 local.get $0 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - local.get $0 - i32.load $0 local.tee $3 - i32.store $0 local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_u select - local.tee $0 - i32.const 1 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -63632,19 +63553,47 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end local.tee $1 - local.get $0 - local.get $0 + local.get $2 local.get $1 - i32.lt_s + local.get $2 + i32.gt_s select + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $4 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $4 local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $4 + local.get $3 + local.get $2 i32.sub i32.const 1 i32.shl @@ -63675,52 +63624,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store $0 + i32.const 4 local.get $0 i32.load $0 offset=8 i32.const 1 i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - local.get $0 - i32.load $0 local.tee $3 - i32.store $0 local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_u select - local.tee $0 - i32.const 1 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -63730,19 +63652,47 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end local.tee $1 - local.get $0 - local.get $0 + local.get $2 local.get $1 - i32.lt_s + local.get $2 + i32.gt_s select + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 + local.get $4 local.get $0 + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $4 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $4 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $4 + local.get $3 + local.get $2 i32.sub i32.const 1 i32.shl @@ -63773,52 +63723,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store $0 + i32.const 4 local.get $0 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - local.get $0 - i32.load $0 local.tee $3 - i32.store $0 local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_u select - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -63828,19 +63751,47 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end local.tee $1 - local.get $0 - local.get $0 + local.get $2 local.get $1 - i32.lt_s + local.get $2 + i32.gt_s select + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $4 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $4 local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $4 + local.get $3 + local.get $2 i32.sub i32.const 2 i32.shl @@ -63871,52 +63822,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store $0 + i32.const 4 local.get $0 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - local.get $0 - i32.load $0 local.tee $3 - i32.store $0 local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_u select - local.tee $0 - i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -63926,19 +63850,47 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end local.tee $1 - local.get $0 - local.get $0 + local.get $2 local.get $1 - i32.lt_s + local.get $2 + i32.gt_s select + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $4 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $4 local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 3 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $4 + local.get $3 + local.get $2 i32.sub i32.const 3 i32.shl @@ -63969,52 +63921,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store $0 + i32.const 4 local.get $0 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - local.get $0 - i32.load $0 local.tee $3 - i32.store $0 local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_u select - local.tee $0 - i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -64024,19 +63949,47 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end local.tee $1 - local.get $0 - local.get $0 + local.get $2 local.get $1 - i32.lt_s + local.get $2 + i32.gt_s select + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $4 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $4 local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 3 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $4 + local.get $3 + local.get $2 i32.sub i32.const 3 i32.shl @@ -64067,52 +64020,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.store $0 + i32.const 4 local.get $0 i32.load $0 offset=8 i32.const 2 i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - local.get $0 - i32.load $0 local.tee $3 - i32.store $0 local.get $3 - if - local.get $4 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.const 4 - local.get $2 - local.get $2 i32.const 4 i32.gt_u select - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $4 + local.set $2 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $2 + local.get $3 i32.add local.tee $1 i32.const 0 @@ -64122,19 +64048,47 @@ select else local.get $1 - local.get $2 + local.get $3 local.get $1 - local.get $2 + local.get $3 i32.lt_s select end local.tee $1 - local.get $0 - local.get $0 + local.get $2 local.get $1 - i32.lt_s + local.get $2 + i32.gt_s select + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $4 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $4 local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $4 + local.get $3 + local.get $2 i32.sub i32.const 2 i32.shl diff --git a/tests/compiler/std/uri.debug.wat b/tests/compiler/std/uri.debug.wat index 37a88bed2b..eac56c80d3 100644 --- a/tests/compiler/std/uri.debug.wat +++ b/tests/compiler/std/uri.debug.wat @@ -115,6 +115,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this @@ -134,6 +135,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -146,12 +148,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -309,6 +313,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -328,6 +333,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -445,6 +451,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -620,22 +627,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -660,16 +670,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -765,18 +778,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -800,18 +816,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -821,12 +840,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -974,22 +996,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1034,16 +1059,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1098,10 +1126,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1217,6 +1248,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1399,6 +1431,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1633,6 +1666,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1711,6 +1745,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1726,6 +1761,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1816,16 +1852,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1858,16 +1897,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1881,46 +1923,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1957,10 +2006,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2080,30 +2132,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2174,6 +2232,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2186,6 +2245,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2248,6 +2308,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -2297,6 +2358,7 @@ select memory.copy $0 $0 local.get $newPtr + return ) (func $~lib/util/uri/storeHex (type $i32_i32_i32_=>_none) (param $dst i32) (param $offset i32) (param $ch i32) local.get $dst @@ -2678,6 +2740,7 @@ local.set $dst end local.get $dst + return ) (func $~lib/uri/encodeURIComponent (type $i32_=>_i32) (param $str i32) (result i32) local.get $str @@ -2685,6 +2748,7 @@ call $~lib/string/String#get:length global.get $~lib/util/uri/URL_UNSAFE call $~lib/util/uri/encode + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2788,6 +2852,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -2830,6 +2895,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/uri/encodeURI (type $i32_=>_i32) (param $str i32) (result i32) local.get $str @@ -2837,6 +2903,7 @@ call $~lib/string/String#get:length global.get $~lib/util/uri/URI_UNSAFE call $~lib/util/uri/encode + return ) (func $~lib/util/uri/loadHex (type $i32_i32_=>_i32) (param $src i32) (param $offset i32) (result i32) (local $c0 i32) @@ -2855,28 +2922,10 @@ i32.add i32.load16_u $0 offset=2 local.set $c1 - local.get $c0 - local.set $ch - local.get $ch - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if (result i32) - i32.const 1 - else + block $~lib/util/uri/isHex|inlined.0 (result i32) + local.get $c0 + local.set $ch local.get $ch - i32.const 32 - i32.or - i32.const 97 - i32.sub - i32.const 6 - i32.lt_u - end - if (result i32) - local.get $c1 - local.set $ch|5 - local.get $ch|5 i32.const 48 i32.sub i32.const 10 @@ -2884,7 +2933,7 @@ if (result i32) i32.const 1 else - local.get $ch|5 + local.get $ch i32.const 32 i32.or i32.const 97 @@ -2892,34 +2941,65 @@ i32.const 6 i32.lt_u end + br $~lib/util/uri/isHex|inlined.0 + end + if (result i32) + block $~lib/util/uri/isHex|inlined.1 (result i32) + local.get $c1 + local.set $ch|5 + local.get $ch|5 + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if (result i32) + i32.const 1 + else + local.get $ch|5 + i32.const 32 + i32.or + i32.const 97 + i32.sub + i32.const 6 + i32.lt_u + end + br $~lib/util/uri/isHex|inlined.1 + end else i32.const 0 end if (result i32) - local.get $c0 - local.set $ch|6 - local.get $ch|6 - i32.const 32 - i32.or - i32.const 39 - i32.rem_u - i32.const 9 - i32.sub + block $~lib/util/uri/fromHex|inlined.0 (result i32) + local.get $c0 + local.set $ch|6 + local.get $ch|6 + i32.const 32 + i32.or + i32.const 39 + i32.rem_u + i32.const 9 + i32.sub + br $~lib/util/uri/fromHex|inlined.0 + end i32.const 4 i32.shl - local.get $c1 - local.set $ch|7 - local.get $ch|7 - i32.const 32 - i32.or - i32.const 39 - i32.rem_u - i32.const 9 - i32.sub + block $~lib/util/uri/fromHex|inlined.1 (result i32) + local.get $c1 + local.set $ch|7 + local.get $ch|7 + i32.const 32 + i32.or + i32.const 39 + i32.rem_u + i32.const 9 + i32.sub + br $~lib/util/uri/fromHex|inlined.1 + end i32.or else i32.const -1 end + return ) (func $~lib/util/uri/decode (type $i32_i32_i32_=>_i32) (param $src i32) (param $len i32) (param $component i32) (result i32) (local $i i32) @@ -3062,22 +3142,25 @@ local.get $component i32.eqz if (result i32) - local.get $ch - local.set $ch|9 - local.get $ch|9 - i32.const 35 - i32.sub - i32.const 30 - i32.lt_u - if (result i32) - global.get $~lib/util/uri/URI_RESERVED + block $~lib/util/uri/isReserved|inlined.0 (result i32) + local.get $ch + local.set $ch|9 local.get $ch|9 i32.const 35 i32.sub - i32.add - i32.load8_u $0 - else - i32.const 0 + i32.const 30 + i32.lt_u + if (result i32) + global.get $~lib/util/uri/URI_RESERVED + local.get $ch|9 + i32.const 35 + i32.sub + i32.add + i32.load8_u $0 + else + i32.const 0 + end + br $~lib/util/uri/isReserved|inlined.0 end else i32.const 0 @@ -3091,22 +3174,25 @@ local.set $i end else - local.get $ch - local.set $c0 - local.get $c0 - i32.const 192 - i32.sub - i32.const 56 - i32.lt_u - if (result i32) + block $~lib/util/uri/utf8LenFromUpperByte|inlined.0 (result i32) + local.get $ch + local.set $c0 local.get $c0 - i32.const 24 - i32.shl - i32.const -1 - i32.xor - i32.clz - else - i32.const 0 + i32.const 192 + i32.sub + i32.const 56 + i32.lt_u + if (result i32) + local.get $c0 + i32.const 24 + i32.shl + i32.const -1 + i32.xor + i32.clz + else + i32.const 0 + end + br $~lib/util/uri/utf8LenFromUpperByte|inlined.0 end local.set $nb i32.const 1 @@ -3320,6 +3406,7 @@ local.set $dst end local.get $dst + return ) (func $~lib/uri/decodeURIComponent (type $i32_=>_i32) (param $str i32) (result i32) local.get $str @@ -3327,6 +3414,7 @@ call $~lib/string/String#get:length i32.const 1 call $~lib/util/uri/decode + return ) (func $~lib/uri/decodeURI (type $i32_=>_i32) (param $str i32) (result i32) local.get $str @@ -3334,6 +3422,7 @@ call $~lib/string/String#get:length i32.const 0 call $~lib/util/uri/decode + return ) (func $~lib/rt/itcms/__collect (type $none_=>_none) i32.const 0 diff --git a/tests/compiler/std/uri.release.wat b/tests/compiler/std/uri.release.wat index 567969b665..a34e7c5a07 100644 --- a/tests/compiler/std/uri.release.wat +++ b/tests/compiler/std/uri.release.wat @@ -1,9 +1,9 @@ (module (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -199,6 +199,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1248 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 37124 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1248 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1248 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 4336 + i32.load $0 + i32.gt_u + if + i32.const 1376 + i32.const 1440 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 4340 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -4136,146 +4268,18 @@ global.set $~lib/memory/__stack_pointer ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1248 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 37124 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1248 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1248 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 4336 - i32.load $0 - i32.gt_u - if - i32.const 1376 - i32.const 1440 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 4340 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/super-inline.debug.wat b/tests/compiler/super-inline.debug.wat index 477ee48385..0b1d544e8f 100644 --- a/tests/compiler/super-inline.debug.wat +++ b/tests/compiler/super-inline.debug.wat @@ -61,6 +61,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -73,12 +74,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -236,6 +239,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -255,6 +259,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -372,6 +377,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -547,22 +553,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -587,16 +596,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -692,18 +704,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -727,18 +742,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -748,12 +766,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -901,22 +922,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -961,16 +985,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1025,10 +1052,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1144,6 +1174,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1326,6 +1357,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1560,6 +1592,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1638,6 +1671,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1653,6 +1687,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1743,16 +1778,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1785,16 +1823,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1808,46 +1849,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -1884,10 +1932,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2007,30 +2058,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2101,6 +2158,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2113,6 +2171,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2175,15 +2234,21 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $super-inline/Foo#a (type $i32_=>_i32) (param $this i32) (result i32) i32.const 1 + return ) (func $super-inline/Bar#a (type $i32_=>_i32) (param $this i32) (result i32) (local $this|1 i32) - local.get $this - local.set $this|1 - i32.const 1 + block $super-inline/Foo#a|inlined.0 (result i32) + local.get $this + local.set $this|1 + i32.const 1 + br $super-inline/Foo#a|inlined.0 + end + return ) (func $super-inline/Foo#a@override (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) diff --git a/tests/compiler/super-inline.release.wat b/tests/compiler/super-inline.release.wat index 6db6a7350b..47e9caf301 100644 --- a/tests/compiler/super-inline.release.wat +++ b/tests/compiler/super-inline.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -91,6 +91,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34236 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1440 + i32.load $0 + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1445,146 +1577,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34236 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1444 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/switch.debug.wat b/tests/compiler/switch.debug.wat index 335561c89e..b57c16116b 100644 --- a/tests/compiler/switch.debug.wat +++ b/tests/compiler/switch.debug.wat @@ -80,6 +80,7 @@ return end i32.const 0 + return ) (func $switch/doSwitchBreakCase (type $i32_=>_i32) (param $n i32) (result i32) (local $1 i32) @@ -100,6 +101,7 @@ return end i32.const 1 + return ) (func $switch/doSwitchBreakDefault (type $i32_=>_i32) (param $n i32) (result i32) (local $1 i32) @@ -120,6 +122,7 @@ br $break|0 end i32.const 2 + return ) (func $switch/doSwitchFallThroughCase (type $i32_=>_i32) (param $n i32) (result i32) (local $1 i32) @@ -137,6 +140,7 @@ return end i32.const 1 + return ) (func $switch/doSwitchFallThroughDefault (type $i32_=>_i32) (param $n i32) (result i32) (local $1 i32) @@ -154,11 +158,13 @@ return end i32.const 2 + return ) (func $switch/doSwitchEmpty (type $i32_=>_i32) (param $n i32) (result i32) local.get $n drop i32.const 2 + return ) (func $start:switch (type $none_=>_none) i32.const 0 diff --git a/tests/compiler/tablebase.debug.wat b/tests/compiler/tablebase.debug.wat index 2b571ae006..58c7a0f809 100644 --- a/tests/compiler/tablebase.debug.wat +++ b/tests/compiler/tablebase.debug.wat @@ -21,6 +21,7 @@ (func $~lib/function/Function<%28%29=>void>#get:index (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 + return ) (func $~start (type $none_=>_none) call $start:tablebase diff --git a/tests/compiler/templateliteral.debug.wat b/tests/compiler/templateliteral.debug.wat index 7138f5aa55..1a580bd7f8 100644 --- a/tests/compiler/templateliteral.debug.wat +++ b/tests/compiler/templateliteral.debug.wat @@ -117,6 +117,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -220,6 +221,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -262,6 +264,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this @@ -281,6 +284,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -293,12 +297,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -456,6 +462,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -475,6 +482,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -592,6 +600,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -767,22 +776,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -807,16 +819,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -912,18 +927,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -947,18 +965,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -968,12 +989,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1121,22 +1145,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1181,16 +1208,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1245,10 +1275,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1364,6 +1397,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1546,6 +1580,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1780,6 +1815,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1858,6 +1894,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1873,6 +1910,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1963,16 +2001,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -2005,16 +2046,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -2028,46 +2072,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2104,10 +2155,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2227,30 +2281,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2321,6 +2381,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2333,6 +2394,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2395,6 +2457,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2486,6 +2549,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 2 i32.shr_u + return ) (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) i32.const 0 @@ -2754,12 +2818,15 @@ (local $b64 i64) (local $b i64) (local $e i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -2821,6 +2888,7 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) @@ -2917,6 +2985,7 @@ local.get $this local.get $radix call $~lib/util/number/itoa32 + return ) (func $~lib/util/number/genDigits (type $i32_i64_i32_i64_i32_i64_i32_=>_i32) (param $buffer i32) (param $w_frc i64) (param $w_exp i32) (param $mp_frc i64) (param $mp_exp i32) (param $delta i64) (param $sign i32) (result i32) (local $one_exp i32) @@ -3615,51 +3684,54 @@ local.get $buffer i32.const 101 i32.store16 $0 offset=2 - local.get $buffer - i32.const 4 - i32.add - local.set $buffer|8 - local.get $kk - i32.const 1 - i32.sub - local.set $k|9 - local.get $k|9 - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 0 - local.get $k|9 + block $~lib/util/number/genExponent|inlined.0 (result i32) + local.get $buffer + i32.const 4 + i32.add + local.set $buffer|8 + local.get $kk + i32.const 1 i32.sub local.set $k|9 + local.get $k|9 + i32.const 0 + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 0 + local.get $k|9 + i32.sub + local.set $k|9 + end + local.get $k|9 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 + local.set $num + local.get $decimals + local.set $offset|14 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|12 + local.get $num + local.get $offset|14 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|8 + i32.const 45 + i32.const 43 + local.get $sign + select + i32.store16 $0 + local.get $decimals + br $~lib/util/number/genExponent|inlined.0 end - local.get $k|9 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals - local.get $buffer|8 - local.set $buffer|12 - local.get $k|9 - local.set $num - local.get $decimals - local.set $offset|14 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|12 - local.get $num - local.get $offset|14 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|8 - i32.const 45 - i32.const 43 - local.get $sign - select - i32.store16 $0 - local.get $decimals local.set $length local.get $length i32.const 2 @@ -3689,53 +3761,56 @@ i32.const 101 i32.store16 $0 offset=2 local.get $length - local.get $buffer - local.get $len - i32.add - i32.const 4 - i32.add - local.set $buffer|16 - local.get $kk - i32.const 1 - i32.sub - local.set $k|17 - local.get $k|17 - i32.const 0 - i32.lt_s - local.set $sign|18 - local.get $sign|18 - if - i32.const 0 - local.get $k|17 + block $~lib/util/number/genExponent|inlined.1 (result i32) + local.get $buffer + local.get $len + i32.add + i32.const 4 + i32.add + local.set $buffer|16 + local.get $kk + i32.const 1 i32.sub local.set $k|17 + local.get $k|17 + i32.const 0 + i32.lt_s + local.set $sign|18 + local.get $sign|18 + if + i32.const 0 + local.get $k|17 + i32.sub + local.set $k|17 + end + local.get $k|17 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|16 + i32.const 45 + i32.const 43 + local.get $sign|18 + select + i32.store16 $0 + local.get $decimals|19 + br $~lib/util/number/genExponent|inlined.1 end - local.get $k|17 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals|19 - local.get $buffer|16 - local.set $buffer|20 - local.get $k|17 - local.set $num|21 - local.get $decimals|19 - local.set $offset|22 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|20 - local.get $num|21 - local.get $offset|22 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|16 - i32.const 45 - i32.const 43 - local.get $sign|18 - select - i32.store16 $0 - local.get $decimals|19 i32.add local.set $length local.get $length @@ -3824,375 +3899,393 @@ i32.const 45 i32.store16 $0 end - local.get $value - local.set $value|3 - local.get $buffer - local.set $buffer|4 - local.get $sign - local.set $sign|5 - local.get $value|3 - i64.reinterpret_f64 - local.set $uv - local.get $uv - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $exp - local.get $uv - i64.const 4503599627370495 - i64.and - local.set $sid - local.get $exp - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $sid - i64.add - local.set $frc - local.get $exp - i32.const 1 - local.get $exp - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $exp - local.get $frc - local.set $f - local.get $exp - local.set $e - local.get $f - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $frc|12 - local.get $e - i32.const 1 - i32.sub - local.set $exp|13 - local.get $frc|12 - i64.clz - i32.wrap_i64 - local.set $off - local.get $frc|12 - local.get $off - i64.extend_i32_s - i64.shl - local.set $frc|12 - local.get $exp|13 - local.get $off - i32.sub - local.set $exp|13 - i32.const 1 - local.get $f - i64.const 4503599627370496 - i64.eq - i32.add - local.set $m - local.get $frc|12 - global.set $~lib/util/number/_frc_plus - local.get $f - local.get $m - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $e - local.get $m - i32.sub - local.get $exp|13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $exp|13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $minExp - i32.const -61 - local.get $minExp - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $dk - local.get $dk - i32.trunc_sat_f64_s - local.set $k - local.get $k - local.get $k - f64.convert_i32_s - local.get $dk - f64.ne - i32.add - local.set $k - local.get $k - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.set $index - i32.const 348 - local.get $index - i32.const 3 - i32.shl - i32.sub - global.set $~lib/util/number/_K - i32.const 2952 - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - i32.const 3648 - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $frc - i64.clz - i32.wrap_i64 - local.set $off|20 - local.get $frc - local.get $off|20 - i64.extend_i32_s - i64.shl - local.set $frc - local.get $exp - local.get $off|20 - i32.sub - local.set $exp - global.get $~lib/util/number/_frc_pow - local.set $frc_pow - global.get $~lib/util/number/_exp_pow - local.set $exp_pow - local.get $frc - local.set $u - local.get $frc_pow - local.set $v - local.get $u - i64.const 4294967295 - i64.and - local.set $u0 - local.get $v - i64.const 4294967295 - i64.and - local.set $v0 - local.get $u - i64.const 32 - i64.shr_u - local.set $u1 - local.get $v - i64.const 32 - i64.shr_u - local.set $v1 - local.get $u0 - local.get $v0 - i64.mul - local.set $l - local.get $u1 - local.get $v0 - i64.mul - local.get $l - i64.const 32 - i64.shr_u - i64.add - local.set $t - local.get $u0 - local.get $v1 - i64.mul - local.get $t - i64.const 4294967295 - i64.and - i64.add - local.set $w - local.get $w - i64.const 2147483647 - i64.add - local.set $w - local.get $t - i64.const 32 - i64.shr_u - local.set $t - local.get $w - i64.const 32 - i64.shr_u - local.set $w - local.get $u1 - local.get $v1 - i64.mul - local.get $t - i64.add - local.get $w - i64.add - local.set $w_frc - local.get $exp - local.set $e1 - local.get $exp_pow - local.set $e2 - local.get $e1 - local.get $e2 - i32.add - i32.const 64 - i32.add - local.set $w_exp - global.get $~lib/util/number/_frc_plus - local.set $u|36 - local.get $frc_pow - local.set $v|37 - local.get $u|36 - i64.const 4294967295 - i64.and - local.set $u0|38 - local.get $v|37 - i64.const 4294967295 - i64.and - local.set $v0|39 - local.get $u|36 - i64.const 32 - i64.shr_u - local.set $u1|40 - local.get $v|37 - i64.const 32 - i64.shr_u - local.set $v1|41 - local.get $u0|38 - local.get $v0|39 - i64.mul - local.set $l|42 - local.get $u1|40 - local.get $v0|39 - i64.mul - local.get $l|42 - i64.const 32 - i64.shr_u - i64.add - local.set $t|43 - local.get $u0|38 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.const 4294967295 - i64.and - i64.add - local.set $w|44 - local.get $w|44 - i64.const 2147483647 - i64.add - local.set $w|44 - local.get $t|43 - i64.const 32 - i64.shr_u - local.set $t|43 - local.get $w|44 - i64.const 32 - i64.shr_u - local.set $w|44 - local.get $u1|40 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.add - local.get $w|44 - i64.add - i64.const 1 - i64.sub - local.set $wp_frc - global.get $~lib/util/number/_exp - local.set $e1|46 - local.get $exp_pow - local.set $e2|47 - local.get $e1|46 - local.get $e2|47 - i32.add - i32.const 64 - i32.add - local.set $wp_exp - global.get $~lib/util/number/_frc_minus - local.set $u|49 - local.get $frc_pow - local.set $v|50 - local.get $u|49 - i64.const 4294967295 - i64.and - local.set $u0|51 - local.get $v|50 - i64.const 4294967295 - i64.and - local.set $v0|52 - local.get $u|49 - i64.const 32 - i64.shr_u - local.set $u1|53 - local.get $v|50 - i64.const 32 - i64.shr_u - local.set $v1|54 - local.get $u0|51 - local.get $v0|52 - i64.mul - local.set $l|55 - local.get $u1|53 - local.get $v0|52 - i64.mul - local.get $l|55 - i64.const 32 - i64.shr_u - i64.add - local.set $t|56 - local.get $u0|51 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.const 4294967295 - i64.and - i64.add - local.set $w|57 - local.get $w|57 - i64.const 2147483647 - i64.add - local.set $w|57 - local.get $t|56 - i64.const 32 - i64.shr_u - local.set $t|56 - local.get $w|57 - i64.const 32 - i64.shr_u - local.set $w|57 - local.get $u1|53 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.add - local.get $w|57 - i64.add - i64.const 1 - i64.add - local.set $wm_frc - local.get $wp_frc - local.get $wm_frc - i64.sub - local.set $delta - local.get $buffer|4 - local.get $w_frc - local.get $w_exp - local.get $wp_frc - local.get $wp_exp - local.get $delta - local.get $sign|5 - call $~lib/util/number/genDigits + block $~lib/util/number/grisu2|inlined.0 (result i32) + local.get $value + local.set $value|3 + local.get $buffer + local.set $buffer|4 + local.get $sign + local.set $sign|5 + local.get $value|3 + i64.reinterpret_f64 + local.set $uv + local.get $uv + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv + i64.const 4503599627370495 + i64.and + local.set $sid + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid + i64.add + local.set $frc + local.get $exp + i32.const 1 + local.get $exp + select + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $exp + local.get $frc + local.set $f + local.get $exp + local.set $e + local.get $f + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $frc|12 + local.get $e + i32.const 1 + i32.sub + local.set $exp|13 + local.get $frc|12 + i64.clz + i32.wrap_i64 + local.set $off + local.get $frc|12 + local.get $off + i64.extend_i32_s + i64.shl + local.set $frc|12 + local.get $exp|13 + local.get $off + i32.sub + local.set $exp|13 + i32.const 1 + local.get $f + i64.const 4503599627370496 + i64.eq + i32.add + local.set $m + local.get $frc|12 + global.set $~lib/util/number/_frc_plus + local.get $f + local.get $m + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $e + local.get $m + i32.sub + local.get $exp|13 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $exp|13 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $minExp + i32.const -61 + local.get $minExp + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.set $dk + local.get $dk + i32.trunc_sat_f64_s + local.set $k + local.get $k + local.get $k + f64.convert_i32_s + local.get $dk + f64.ne + i32.add + local.set $k + local.get $k + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.set $index + i32.const 348 + local.get $index + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 2952 + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + global.set $~lib/util/number/_frc_pow + i32.const 3648 + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + global.set $~lib/util/number/_exp_pow + local.get $frc + i64.clz + i32.wrap_i64 + local.set $off|20 + local.get $frc + local.get $off|20 + i64.extend_i32_s + i64.shl + local.set $frc + local.get $exp + local.get $off|20 + i32.sub + local.set $exp + global.get $~lib/util/number/_frc_pow + local.set $frc_pow + global.get $~lib/util/number/_exp_pow + local.set $exp_pow + block $~lib/util/number/umul64f|inlined.0 (result i64) + local.get $frc + local.set $u + local.get $frc_pow + local.set $v + local.get $u + i64.const 4294967295 + i64.and + local.set $u0 + local.get $v + i64.const 4294967295 + i64.and + local.set $v0 + local.get $u + i64.const 32 + i64.shr_u + local.set $u1 + local.get $v + i64.const 32 + i64.shr_u + local.set $v1 + local.get $u0 + local.get $v0 + i64.mul + local.set $l + local.get $u1 + local.get $v0 + i64.mul + local.get $l + i64.const 32 + i64.shr_u + i64.add + local.set $t + local.get $u0 + local.get $v1 + i64.mul + local.get $t + i64.const 4294967295 + i64.and + i64.add + local.set $w + local.get $w + i64.const 2147483647 + i64.add + local.set $w + local.get $t + i64.const 32 + i64.shr_u + local.set $t + local.get $w + i64.const 32 + i64.shr_u + local.set $w + local.get $u1 + local.get $v1 + i64.mul + local.get $t + i64.add + local.get $w + i64.add + br $~lib/util/number/umul64f|inlined.0 + end + local.set $w_frc + block $~lib/util/number/umul64e|inlined.0 (result i32) + local.get $exp + local.set $e1 + local.get $exp_pow + local.set $e2 + local.get $e1 + local.get $e2 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.0 + end + local.set $w_exp + block $~lib/util/number/umul64f|inlined.1 (result i64) + global.get $~lib/util/number/_frc_plus + local.set $u|36 + local.get $frc_pow + local.set $v|37 + local.get $u|36 + i64.const 4294967295 + i64.and + local.set $u0|38 + local.get $v|37 + i64.const 4294967295 + i64.and + local.set $v0|39 + local.get $u|36 + i64.const 32 + i64.shr_u + local.set $u1|40 + local.get $v|37 + i64.const 32 + i64.shr_u + local.set $v1|41 + local.get $u0|38 + local.get $v0|39 + i64.mul + local.set $l|42 + local.get $u1|40 + local.get $v0|39 + i64.mul + local.get $l|42 + i64.const 32 + i64.shr_u + i64.add + local.set $t|43 + local.get $u0|38 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.const 4294967295 + i64.and + i64.add + local.set $w|44 + local.get $w|44 + i64.const 2147483647 + i64.add + local.set $w|44 + local.get $t|43 + i64.const 32 + i64.shr_u + local.set $t|43 + local.get $w|44 + i64.const 32 + i64.shr_u + local.set $w|44 + local.get $u1|40 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.add + local.get $w|44 + i64.add + br $~lib/util/number/umul64f|inlined.1 + end + i64.const 1 + i64.sub + local.set $wp_frc + block $~lib/util/number/umul64e|inlined.1 (result i32) + global.get $~lib/util/number/_exp + local.set $e1|46 + local.get $exp_pow + local.set $e2|47 + local.get $e1|46 + local.get $e2|47 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.1 + end + local.set $wp_exp + block $~lib/util/number/umul64f|inlined.2 (result i64) + global.get $~lib/util/number/_frc_minus + local.set $u|49 + local.get $frc_pow + local.set $v|50 + local.get $u|49 + i64.const 4294967295 + i64.and + local.set $u0|51 + local.get $v|50 + i64.const 4294967295 + i64.and + local.set $v0|52 + local.get $u|49 + i64.const 32 + i64.shr_u + local.set $u1|53 + local.get $v|50 + i64.const 32 + i64.shr_u + local.set $v1|54 + local.get $u0|51 + local.get $v0|52 + i64.mul + local.set $l|55 + local.get $u1|53 + local.get $v0|52 + i64.mul + local.get $l|55 + i64.const 32 + i64.shr_u + i64.add + local.set $t|56 + local.get $u0|51 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.const 4294967295 + i64.and + i64.add + local.set $w|57 + local.get $w|57 + i64.const 2147483647 + i64.add + local.set $w|57 + local.get $t|56 + i64.const 32 + i64.shr_u + local.set $t|56 + local.get $w|57 + i64.const 32 + i64.shr_u + local.set $w|57 + local.get $u1|53 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.add + local.get $w|57 + i64.add + br $~lib/util/number/umul64f|inlined.2 + end + i64.const 1 + i64.add + local.set $wm_frc + local.get $wp_frc + local.get $wm_frc + i64.sub + local.set $delta + local.get $buffer|4 + local.get $w_frc + local.get $w_exp + local.get $wp_frc + local.get $wp_exp + local.get $delta + local.get $sign|5 + call $~lib/util/number/genDigits + br $~lib/util/number/grisu2|inlined.0 + end local.set $len local.get $buffer local.get $sign @@ -4208,10 +4301,12 @@ local.get $len local.get $sign i32.add + return ) (func $~lib/number/F64#toString (type $f64_i32_=>_i32) (param $this f64) (param $radix i32) (result i32) local.get $this call $~lib/util/number/dtoa + return ) (func $templateliteral/Ref#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this @@ -4226,6 +4321,7 @@ local.get $left local.get $right call $~lib/string/String#concat + return ) (func $templateliteral/RecursiveObject#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) local.get $this @@ -5122,6 +5218,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) (func $templateliteral/test_ref (type $none_=>_none) (local $a i32) @@ -5355,6 +5452,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 + return ) (func $templateliteral/test_recursive (type $none_=>_none) (local $c i32) @@ -5498,6 +5596,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 + return ) (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) @@ -5707,6 +5806,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $13 + return ) (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $sign i32) @@ -5888,6 +5988,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $14 + return ) (func $~lib/util/number/dtoa (type $f64_=>_i32) (param $value f64) (result i32) (local $size i32) @@ -5971,6 +6072,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 + return ) (func $templateliteral/Ref#constructor (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) (local $2 i32) diff --git a/tests/compiler/templateliteral.release.wat b/tests/compiler/templateliteral.release.wat index b40696e536..d01486b9be 100644 --- a/tests/compiler/templateliteral.release.wat +++ b/tests/compiler/templateliteral.release.wat @@ -1741,12 +1741,13 @@ (local $5 i32) (local $6 i32) local.get $0 + local.tee $3 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -1763,17 +1764,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $0 i64.const 0 i64.store $0 - local.get $5 + local.get $0 i32.const 0 i32.store $0 offset=8 block $__inlined_func$~lib/util/string/joinStringArray - local.get $4 + local.get $5 i32.const 1 i32.sub - local.tee $5 + local.tee $6 i32.const 0 i32.lt_s if @@ -1782,15 +1783,15 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1184 - local.set $1 + local.set $0 br $__inlined_func$~lib/util/string/joinStringArray end - local.get $5 + local.get $6 i32.eqz if global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $0 + local.get $3 i32.load $0 local.tee $0 i32.store $0 @@ -1802,27 +1803,29 @@ i32.const 1184 local.get $0 select - local.set $1 + local.set $0 br $__inlined_func$~lib/util/string/joinStringArray end + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 - local.get $4 + local.get $0 + local.get $5 i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $3 local.get $0 - local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $6 + local.tee $4 i32.store $0 offset=4 - local.get $6 + local.get $4 if local.get $1 - local.get $6 + local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 @@ -1831,110 +1834,110 @@ i32.add local.set $1 end - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|0 end end - i32.const 0 - local.set $2 global.get $~lib/memory/__stack_pointer local.get $1 + local.get $6 i32.const 1180 i32.load $0 i32.const 1 i32.shr_u - local.tee $4 - local.get $5 + local.tee $5 i32.mul i32.add i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store $0 offset=8 + i32.const 0 + local.set $1 loop $for-loop|1 - local.get $3 - local.get $5 + local.get $1 + local.get $6 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 local.get $3 + local.get $1 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $6 + local.tee $4 i32.store $0 offset=4 - local.get $6 + local.get $4 if - local.get $1 + local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $6 - local.get $6 + local.get $4 + local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 1 i32.shr_u - local.tee $6 + local.tee $4 i32.const 1 i32.shl memory.copy $0 $0 local.get $2 - local.get $6 + local.get $4 i32.add local.set $2 end - local.get $4 + local.get $5 if - local.get $1 + local.get $0 local.get $2 i32.const 1 i32.shl i32.add i32.const 1184 - local.get $4 + local.get $5 i32.const 1 i32.shl memory.copy $0 $0 local.get $2 - local.get $4 + local.get $5 i32.add local.set $2 end - local.get $3 + local.get $1 i32.const 1 i32.add - local.set $3 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $5 + local.get $3 + local.get $6 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $0 + local.tee $1 i32.store $0 offset=4 - local.get $0 + local.get $1 if - local.get $1 + local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $0 - local.get $0 + local.get $1 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -1947,7 +1950,7 @@ i32.add global.set $~lib/memory/__stack_pointer end - local.get $1 + local.get $0 ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -3920,17 +3923,17 @@ i32.sub i32.load $0 offset=16 i32.add - local.set $1 + local.set $2 loop $while-continue|0 local.get $0 - local.get $1 + local.get $2 i32.lt_u if local.get $0 i32.load $0 - local.tee $2 + local.tee $1 if - local.get $2 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__visit end local.get $0 diff --git a/tests/compiler/ternary.debug.wat b/tests/compiler/ternary.debug.wat index 6b7c32a486..88c9f65163 100644 --- a/tests/compiler/ternary.debug.wat +++ b/tests/compiler/ternary.debug.wat @@ -40,6 +40,7 @@ else local.get $z end + return ) (func $ternary/testDropWithTypeMismatch (type $i32_=>_none) (param $cond i32) (local $x i32) diff --git a/tests/compiler/throw.debug.wat b/tests/compiler/throw.debug.wat index a1b807af35..7cc2066fa5 100644 --- a/tests/compiler/throw.debug.wat +++ b/tests/compiler/throw.debug.wat @@ -173,6 +173,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -185,12 +186,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -348,6 +351,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -367,6 +371,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -484,6 +489,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -659,22 +665,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -699,16 +708,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -804,18 +816,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -839,18 +854,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -860,12 +878,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1013,22 +1034,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1073,16 +1097,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1137,10 +1164,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1256,6 +1286,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1438,6 +1469,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1672,6 +1704,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/__collect (type $none_=>_none) i32.const 0 diff --git a/tests/compiler/throw.release.wat b/tests/compiler/throw.release.wat index dfb7f56970..d171cb219b 100644 --- a/tests/compiler/throw.release.wat +++ b/tests/compiler/throw.release.wat @@ -1,7 +1,7 @@ (module (type $none_=>_none (func_subtype func)) - (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) @@ -48,8 +48,20 @@ (func $~lib/rt/itcms/visitRoots (type $none_=>_none) (local $0 i32) (local $1 i32) - i32.const 1488 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/white + i32.const 1472 + i32.load $0 + i32.const 3 + i32.and + i32.eq + if + i32.const 1468 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end global.get $~lib/rt/itcms/pinSpace local.tee $1 i32.load $0 offset=4 @@ -88,6 +100,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34516 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1728 + i32.load $0 + i32.gt_u + if + i32.const 1488 + i32.const 1552 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1732 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1110,146 +1254,18 @@ end ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1392 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34516 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1392 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1392 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1728 - i32.load $0 - i32.gt_u - if - i32.const 1488 - i32.const 1552 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1732 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/typealias.debug.wat b/tests/compiler/typealias.debug.wat index 88def77afc..f45ca3449d 100644 --- a/tests/compiler/typealias.debug.wat +++ b/tests/compiler/typealias.debug.wat @@ -10,5 +10,6 @@ (export "memory" (memory $0)) (func $typealias/alias (type $i32_=>_i32) (param $a i32) (result i32) local.get $a + return ) ) diff --git a/tests/compiler/typeof.debug.wat b/tests/compiler/typeof.debug.wat index fcc7032c9c..1a5cc87731 100644 --- a/tests/compiler/typeof.debug.wat +++ b/tests/compiler/typeof.debug.wat @@ -73,6 +73,7 @@ call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -176,6 +177,7 @@ end end i32.const 0 + return ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength i32) @@ -218,6 +220,7 @@ local.get $leftLength call $~lib/util/string/compareImpl i32.eqz + return ) (func $start:typeof~anonymous|0 (type $none_=>_none) nop @@ -240,6 +243,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -252,12 +256,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -415,6 +421,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -434,6 +441,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -551,6 +559,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -726,22 +735,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -766,16 +778,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -871,18 +886,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -906,18 +924,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -927,12 +948,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1080,22 +1104,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1140,16 +1167,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1204,10 +1234,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1323,6 +1356,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1505,6 +1539,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1739,6 +1774,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -1817,6 +1853,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -1832,6 +1869,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -1922,16 +1960,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -1964,16 +2005,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -1987,46 +2031,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2063,10 +2114,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2186,30 +2240,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2280,6 +2340,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2292,6 +2353,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2354,6 +2416,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) diff --git a/tests/compiler/typeof.release.wat b/tests/compiler/typeof.release.wat index 27a30c8add..c33bbc7822 100644 --- a/tests/compiler/typeof.release.wat +++ b/tests/compiler/typeof.release.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) @@ -224,6 +224,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1424 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34588 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1424 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1424 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1792 + i32.load $0 + i32.gt_u + if + i32.const 1552 + i32.const 1616 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1796 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1989,146 +2121,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1424 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34588 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1424 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1424 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1792 - i32.load $0 - i32.gt_u - if - i32.const 1552 - i32.const 1616 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1796 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add diff --git a/tests/compiler/void.debug.wat b/tests/compiler/void.debug.wat index 1ce2d20965..47d7563b8c 100644 --- a/tests/compiler/void.debug.wat +++ b/tests/compiler/void.debug.wat @@ -13,6 +13,7 @@ (start $~start) (func $void/anInt (type $none_=>_i32) (result i32) i32.const 2 + return ) (func $start:void (type $none_=>_none) i32.const 1 diff --git a/tests/compiler/while.debug.wat b/tests/compiler/while.debug.wat index 2b988a23d6..cbfbee7a52 100644 --- a/tests/compiler/while.debug.wat +++ b/tests/compiler/while.debug.wat @@ -483,6 +483,7 @@ local.get $space call $~lib/rt/itcms/Object#set:prev local.get $space + return ) (func $~lib/rt/itcms/Object#get:nextWithColor (type $i32_=>_i32) (param $this i32) (result i32) local.get $this @@ -495,12 +496,14 @@ i32.const -1 i32.xor i32.and + return ) (func $~lib/rt/itcms/Object#get:color (type $i32_=>_i32) (param $this i32) (result i32) local.get $this call $~lib/rt/itcms/Object#get:nextWithColor i32.const 3 i32.and + return ) (func $~lib/rt/itcms/visitRoots (type $i32_=>_none) (param $cookie i32) (local $pn i32) @@ -658,6 +661,7 @@ i32.mul i32.add call $~lib/shared/typeinfo/Typeinfo#get:flags + return ) (func $~lib/rt/itcms/Object#get:isPointerfree (type $i32_=>_i32) (param $this i32) (result i32) (local $rtId i32) @@ -677,6 +681,7 @@ i32.const 0 i32.ne end + return ) (func $~lib/rt/itcms/Object#linkTo (type $i32_i32_i32_=>_none) (param $this i32) (param $list i32) (param $withColor i32) (local $prev i32) @@ -794,6 +799,7 @@ i32.xor i32.and i32.add + return ) (func $~lib/rt/tlsf/Root#set:flMap (type $i32_i32_=>_none) (param $this i32) (param $flMap i32) local.get $this @@ -969,22 +975,25 @@ call $~lib/rt/tlsf/Block#set:prev end local.get $block - local.get $root - local.set $root|11 - local.get $fl - local.set $fl|12 - local.get $sl - local.set $sl|13 - local.get $root|11 - local.get $fl|12 - i32.const 4 - i32.shl - local.get $sl|13 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end i32.eq if local.get $root @@ -1009,16 +1018,19 @@ local.get $next i32.eqz if - local.get $root - local.set $root|18 - local.get $fl - local.set $fl|19 - local.get $root|18 - local.get $fl|19 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end local.set $slMap local.get $root local.set $root|21 @@ -1114,18 +1126,21 @@ call $~lib/builtins/abort unreachable end - local.get $block - local.set $block|3 - local.get $block|3 - i32.const 4 - i32.add - local.get $block|3 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1149,18 +1164,21 @@ i32.add local.tee $blockInfo call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end local.set $right local.get $right call $~lib/rt/common/BLOCK#get:mmInfo @@ -1170,12 +1188,15 @@ i32.const 2 i32.and if - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.sub - i32.load $0 + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load $0 + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end local.set $left local.get $left call $~lib/rt/common/BLOCK#get:mmInfo @@ -1323,22 +1344,25 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|16 - local.get $fl - local.set $fl|17 - local.get $sl - local.set $sl|18 - local.get $root|16 - local.get $fl|17 - i32.const 4 - i32.shl - local.get $sl|18 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end local.set $head local.get $block i32.const 0 @@ -1383,16 +1407,19 @@ local.set $root|26 local.get $fl local.set $fl|27 - local.get $root - local.set $root|24 - local.get $fl - local.set $fl|25 - local.get $root|24 - local.get $fl|25 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end i32.const 1 local.get $sl i32.shl @@ -1447,10 +1474,13 @@ i32.xor i32.and local.set $end - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end local.set $tail i32.const 0 local.set $tailInfo @@ -1566,6 +1596,7 @@ local.get $left call $~lib/rt/tlsf/insertBlock i32.const 1 + return ) (func $~lib/rt/tlsf/initialize (type $none_=>_none) (local $rootOffset i32) @@ -1748,6 +1779,7 @@ unreachable end local.get $block + return ) (func $~lib/rt/tlsf/freeBlock (type $i32_i32_=>_none) (param $root i32) (param $block i32) i32.const 0 @@ -1982,6 +2014,7 @@ br $break|0 end i32.const 0 + return ) (func $~lib/rt/itcms/interrupt (type $none_=>_none) (local $budget i32) @@ -2060,6 +2093,7 @@ i32.const 4 i32.sub end + return ) (func $~lib/rt/tlsf/prepareSize (type $i32_=>_i32) (param $size i32) (result i32) local.get $size @@ -2075,6 +2109,7 @@ end local.get $size call $~lib/rt/tlsf/computeSize + return ) (func $~lib/rt/tlsf/searchBlock (type $i32_i32_=>_i32) (param $root i32) (param $size i32) (result i32) (local $fl i32) @@ -2165,16 +2200,19 @@ call $~lib/builtins/abort unreachable end - local.get $root - local.set $root|5 - local.get $fl - local.set $fl|6 - local.get $root|5 - local.get $fl|6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end i32.const 0 i32.const -1 i32.xor @@ -2207,16 +2245,19 @@ local.get $flMap i32.ctz local.set $fl - local.get $root - local.set $root|10 - local.get $fl - local.set $fl|11 - local.get $root|10 - local.get $fl|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end local.set $slMap i32.const 1 drop @@ -2230,46 +2271,53 @@ call $~lib/builtins/abort unreachable end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) local.get $root - local.set $root|12 + local.set $root|15 local.get $fl - local.set $fl|13 + local.set $fl|16 local.get $slMap i32.ctz - local.set $sl|14 - local.get $root|12 - local.get $fl|13 + local.set $sl|17 + local.get $root|15 + local.get $fl|16 i32.const 4 i32.shl - local.get $sl|14 + local.get $sl|17 i32.add i32.const 2 i32.shl i32.add i32.load $0 offset=96 - local.set $head + br $~lib/rt/tlsf/GETHEAD|inlined.3 end - else - local.get $root - local.set $root|15 - local.get $fl - local.set $fl|16 - local.get $slMap - i32.ctz - local.set $sl|17 - local.get $root|15 - local.get $fl|16 - i32.const 4 - i32.shl - local.get $sl|17 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=96 local.set $head end local.get $head + return ) (func $~lib/rt/tlsf/growMemory (type $i32_i32_=>_none) (param $root i32) (param $size i32) (local $pagesBefore i32) @@ -2306,10 +2354,13 @@ i32.shl i32.const 4 i32.sub - local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load $0 offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end i32.ne i32.shl i32.add @@ -2429,30 +2480,36 @@ i32.xor i32.and call $~lib/rt/common/BLOCK#set:mmInfo - local.get $block - local.set $block|7 - local.get $block|7 - i32.const 4 - i32.add - local.get $block|7 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add - local.get $block - local.set $block|6 - local.get $block|6 - i32.const 4 - i32.add - local.get $block|6 - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.add + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end call $~lib/rt/common/BLOCK#get:mmInfo i32.const 2 i32.const -1 @@ -2523,6 +2580,7 @@ i32.const 0 drop local.get $block + return ) (func $~lib/rt/tlsf/__alloc (type $i32_=>_i32) (param $size i32) (result i32) global.get $~lib/rt/tlsf/ROOT @@ -2535,6 +2593,7 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add + return ) (func $~lib/rt/itcms/Object#set:rtId (type $i32_i32_=>_none) (param $this i32) (param $rtId i32) local.get $this @@ -2597,6 +2656,7 @@ local.get $size memory.fill $0 local.get $ptr + return ) (func $while/testRef (type $none_=>_none) (local $i i32) @@ -2671,6 +2731,7 @@ (func $while/getRef (type $none_=>_i32) (result i32) i32.const 0 call $while/Ref#constructor + return ) (func $while/testRefAutorelease (type $none_=>_none) (local $i i32) diff --git a/tests/compiler/while.release.wat b/tests/compiler/while.release.wat index 54b2cad2df..3796610b70 100644 --- a/tests/compiler/while.release.wat +++ b/tests/compiler/while.release.wat @@ -1,9 +1,9 @@ (module (type $none_=>_none (func_subtype func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -79,6 +79,138 @@ end end ) + (func $~lib/rt/itcms/Object#makeGray (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load $0 offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load $0 offset=8 + i32.eqz + local.get $0 + i32.const 34280 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink + end + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + end + global.get $~lib/rt/itcms/toSpace + local.set $2 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1488 + i32.load $0 + i32.gt_u + if + i32.const 1296 + i32.const 1360 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load $0 + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load $0 offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + ) (func $~lib/rt/tlsf/removeBlock (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1841,146 +1973,18 @@ unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $0 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $1 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34280 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1296 - i32.const 1360 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1492 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 + call $~lib/rt/itcms/Object#makeGray global.get $~lib/rt/itcms/visitCount i32.const 1 i32.add From 303fa6c3103026835f478adfe43e3e826409111a Mon Sep 17 00:00:00 2001 From: dcode Date: Sat, 3 Dec 2022 15:27:53 +0100 Subject: [PATCH 13/14] refactor control flow labels --- src/compiler.ts | 16 ++++++++-------- src/flow.ts | 24 ++++++++---------------- src/program.ts | 6 ++---- 3 files changed, 18 insertions(+), 28 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 206311939c..53f145525e 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -2331,7 +2331,7 @@ export class Compiler extends DiagnosticEmitter { // Compile the body (always executes) let flow = outerFlow.fork(/* resetBreakContext */ true); - let label = flow.pushBreakLabel(); + let label = flow.pushControlFlowLabel(); let breakLabel = `do-break|${label}`; flow.breakLabel = breakLabel; let continueLabel = `do-continue|${label}`; @@ -2345,7 +2345,7 @@ export class Compiler extends DiagnosticEmitter { } else { bodyStmts.push(this.compileStatement(body)); } - flow.popBreakLabel(); + flow.popControlFlowLabel(label); let possiblyContinues = flow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues); let possiblyBreaks = flow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks); @@ -2496,7 +2496,7 @@ export class Compiler extends DiagnosticEmitter { // Compile the body assuming the condition turned out true let bodyFlow = flow.forkThen(condExpr, /* newBreakContext */ true); - let label = bodyFlow.pushBreakLabel(); + let label = bodyFlow.pushControlFlowLabel(); let breakLabel = `for-break${label}`; bodyFlow.breakLabel = breakLabel; let continueLabel = `for-continue|${label}`; @@ -2510,7 +2510,7 @@ export class Compiler extends DiagnosticEmitter { } else { bodyStmts.push(this.compileStatement(body)); } - bodyFlow.popBreakLabel(); + bodyFlow.popControlFlowLabel(label); bodyFlow.breakLabel = null; bodyFlow.continueLabel = null; @@ -2750,7 +2750,7 @@ export class Compiler extends DiagnosticEmitter { // sequence of br_ifs to a br_table according to optimization levels let breakIndex = 1; let defaultIndex = -1; - let label = outerFlow.pushBreakLabel(); + let label = outerFlow.pushControlFlowLabel(); for (let i = 0; i < numCases; ++i) { let case_ = cases[i]; if (case_.isDefault) { @@ -2823,7 +2823,7 @@ export class Compiler extends DiagnosticEmitter { this.currentFlow = outerFlow; currentBlock = module.block(nextLabel, stmts, TypeRef.None); // must be a labeled block } - outerFlow.popBreakLabel(); + outerFlow.popControlFlowLabel(label); // If the switch has a default, we only get past through any breaking flow if (defaultIndex >= 0) { @@ -3123,7 +3123,7 @@ export class Compiler extends DiagnosticEmitter { // Compile the body assuming the condition turned out true let thenFlow = outerFlow.forkThen(condExpr, /* newBreakContext */ true); - let label = thenFlow.pushBreakLabel(); + let label = thenFlow.pushControlFlowLabel(); let breakLabel = `while-break|${label}`; thenFlow.breakLabel = breakLabel; let continueLabel = `while-continue|${label}`; @@ -3139,7 +3139,7 @@ export class Compiler extends DiagnosticEmitter { bodyStmts.push( module.br(continueLabel) ); - thenFlow.popBreakLabel(); + thenFlow.popControlFlowLabel(label); let possiblyContinues = thenFlow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues); let possiblyBreaks = thenFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks); diff --git a/src/flow.ts b/src/flow.ts index ad150b6536..31909c258a 100644 --- a/src/flow.ts +++ b/src/flow.ts @@ -583,30 +583,22 @@ export class Flow { } } - /** Pushes a new label to the stack, for example when entering a loop that one can `break` from. */ - pushBreakLabel(): string { + /** Pushes a new control flow label, for example when entering a loop that one can `break` from. */ + pushControlFlowLabel(): i32 { let targetFunction = this.targetFunction; let id = targetFunction.nextBreakId++; let stack = targetFunction.breakStack; if (!stack) targetFunction.breakStack = [ id ]; else stack.push(id); - let label = id.toString(); - targetFunction.breakLabel = label; - return label; + return id; } - /** Pops the most recent label from the stack. */ - popBreakLabel(): void { + /** Pops the most recent control flow label and validates that it matches. */ + popControlFlowLabel(expectedLabel: i32): void { let targetFunction = this.targetFunction; - let stack = assert(targetFunction.breakStack); - let length = assert(stack.length); - stack.pop(); - if (length > 1) { - targetFunction.breakLabel = stack[length - 2].toString(); - } else { - targetFunction.breakLabel = null; - targetFunction.breakStack = null; - } + let stack = assert(targetFunction.breakStack); // should exist + assert(stack.length); // should not be empty + assert(stack.pop() == expectedLabel); // should match } /** Inherits flags of another flow into this one, i.e. a finished inner block. */ diff --git a/src/program.ts b/src/program.ts index 234f6b855b..1c1bc79727 100644 --- a/src/program.ts +++ b/src/program.ts @@ -3876,15 +3876,13 @@ export class Function extends TypedElement { // used by flows to keep track of break labels nextBreakId: i32 = 0; breakStack: i32[] | null = null; - breakLabel: string | null = null; /** Finalizes the function once compiled, releasing no longer needed resources. */ finalize(module: Module, ref: FunctionRef): void { this.ref = ref; let breakStack = this.breakStack; - assert(!breakStack || !breakStack.length); // internal error - this.breakStack = breakStack = null; - this.breakLabel = null; + assert(!breakStack || !breakStack.length); // should be empty + this.breakStack = null; this.addDebugInfo(module, ref); } From 137ecb729db8a4366c6a7d3a365753f421ec85ff Mon Sep 17 00:00:00 2001 From: dcode Date: Sat, 3 Dec 2022 17:41:41 +0100 Subject: [PATCH 14/14] definitive assignment has no effect on locals --- src/compiler.ts | 7 +++++++ src/diagnosticMessages.json | 1 + 2 files changed, 8 insertions(+) diff --git a/src/compiler.ts b/src/compiler.ts index 53f145525e..7941f73c5d 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -2892,6 +2892,13 @@ export class Compiler extends DiagnosticEmitter { let initExpr: ExpressionRef = 0; let initType: Type | null = null; + if (declaration.is(CommonFlags.DefinitelyAssigned)) { + this.warning( + DiagnosticCode.Definitive_assignment_has_no_effect_on_local_variables, + declaration.name.range + ); + } + // Resolve type if annotated let typeNode = declaration.type; let initializerNode = declaration.initializer; diff --git a/src/diagnosticMessages.json b/src/diagnosticMessages.json index cd219a395a..752ec4550d 100644 --- a/src/diagnosticMessages.json +++ b/src/diagnosticMessages.json @@ -50,6 +50,7 @@ "Literal '{0}' does not fit into 'i64' or 'u64' types.": 236, "Index signature accessors in type '{0}' differ in types.": 237, "Initializer, definitive assignment or nullable type expected.": 238, + "Definitive assignment has no effect on local variables.": 239, "Importing the table disables some indirect call optimizations.": 901, "Exporting the table disables some indirect call optimizations.": 902,